diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index ef70e2e6bd..a70c3d656c 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: Configurar e gerenciar sua conta pessoal no GitHub -intro: 'Você pode gerenciar as configurações da sua conta pessoal em {% data variables.product.prodname_dotcom %}, incluindo preferências de e-mail, acesso do colaborador a repositórios pessoais e associações da organização.' +intro: 'You can manage settings for your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, including email preferences, access to personal repositories, and organization memberships. You can also manage the account itself.' shortTitle: Contas pessoais redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 690f54559d..03116be3fe 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: Gerenciar configurações de conta de usuário -intro: 'Você pode alterar várias configurações de sua conta pessoal, inclusive alterar seu nome de usuário e excluir sua conta.' +intro: 'You can manage settings for your personal account, including your theme, username, default branch, accessibility, and security settings.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,9 +19,6 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings @@ -29,7 +26,6 @@ children: - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: Configurações de conta pessoal --- diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md index 9719068936..9d730f08f4 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md @@ -35,7 +35,7 @@ Você pode querer usar um tema escuro para reduzir o consumo de energia em certo {%- 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. Para obter mais informações sobre atualizações, entre em contato com o administrador do site. + **Observação**: O tema de alto contraste claro não estava disponível em {% data variables.product.product_name %} 3.5.0, 3.5.1, 3.5.2 e 3.5.3. O tema está disponível na versão 3.5.4 e posterior. Para obter mais informações sobre atualizações, entre em contato com o administrador do site. Para obter mais informações sobre como determinar a versão do {% data variables.product.product_name %} que você está usando, consulte "[Sobre as versões de {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)" {% endnote %} diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 96% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index cc714f9807..e55d6f2599 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 95% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index 2976a52527..fdf72ae686 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: Você pode converter a sua conta pessoal em uma organização. Isso permite permissões mais granulares para repositórios que pertencem à organização. versions: fpt: '*' @@ -66,5 +67,5 @@ Você também pode converter sua conta pessoal diretamente em uma organização. ## Leia mais - "[Configurar equipes](/articles/setting-up-teams)" -{% ifversion fpt or ghec %}- "[Convidar usuários para ingressar na organização](/articles/inviting-users-to-join-your-organization)"{% endif %} +{% ifversion fpt or ghec %}- "[Convidar usuários para participar da sua organização](/articles/inviting-users-to-join-your-organization)"{% endif %} - "[Acessar uma organização](/articles/accessing-an-organization)" diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 59% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index 6ad4a153fd..9ccb3f05c8 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: Excluindo sua conta pessoal -intro: 'Você pode excluir sua conta pessoal em {% data variables.product.product_name %} a qualquer momento.' +intro: 'Você pode excluir sua conta pessoal em {% data variables.product.product_location %} a qualquer momento.' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: Excluir sua conta pessoal +shortTitle: Delete your account --- -A exclusão da sua conta pessoal irá remover todos os repositórios, bifurcações de repositórios privados, wikis, problemas, pull requests e páginas pertencentes à sua conta. {% ifversion fpt or ghec %} Os problemas e as pull requests que você criou e os comentários que você fez nos repositórios pertencentes a outros usuários não serão excluídos. Em vez disso, eles serão associados ao nosso [usuário fantasma](https://github.com/ghost).{% else %}Os problemas e as pull requests que você criou e os comentários que você fez nos repositórios pertencentes a outros usuários não serão excluídos.{% endif %} +## About deletion of your personal account -{% ifversion fpt or ghec %} Ao excluir a sua conta, nós paramos de cobrar você. O endereço de e-mail associado à conta fica disponível para uso com uma conta diferente no {% data variables.product.product_location %}. Após 90 dias, o nome da conta também fica disponível para qualquer pessoa usar em uma nova conta. {% endif %} +A exclusão da sua conta pessoal irá remover todos os repositórios, bifurcações de repositórios privados, wikis, problemas, pull requests e páginas pertencentes à sua conta. {% 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 %} -Se você é o único proprietário de uma organização, você deverá transferir a propriedade para outra pessoa ou excluir a organização antes de excluir a sua conta pessoal. Se houver outros proprietários na organização, você deverá remover-se da organização antes de excluir sua conta pessoal. +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.product.product_location %} through your company's identity provider (IdP), you cannot delete your account. Para obter mais informações, consulte "[Sobre {% 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. O endereço de e-mail associado à conta fica disponível para uso com uma conta diferente no {% data variables.product.product_location %}. Após 90 dias, o nome da conta também fica disponível para qualquer pessoa usar em uma nova conta. {% 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. Se houver outros proprietários na organização, você deverá remover-se da organização antes de excluir sua conta pessoal. + +Para obter mais informações, consulte os seguintes artigos. -Para obter mais informações, consulte: - "[Transferir a propriedade da organização](/articles/transferring-organization-ownership)" - "[Excluir uma conta de organização](/articles/deleting-an-organization-account)" - "[Remover a si mesmo de uma organização](/articles/removing-yourself-from-an-organization/)" ## Fazer backup dos dados da conta -Antes de excluir sua conta pessoal, faça uma cópia de todos os repositórios, bifurcações privadas, wikis, problemas e pull requests pertencentes à sua conta. +Antes de excluir sua conta pessoal, faça uma cópia de todos os repositórios, bifurcações privadas, wikis, problemas e pull requests pertencentes à sua conta. For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." {% warning %} -**Aviso:** Uma vez que excluída a sua conta pessoal, o GitHub não poderá restaurar seu conteúdo. +**Warning:** Once your personal account has been deleted, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}an enterprise owner{% endif %} cannot restore your content. {% endwarning %} diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..ab1c7a9394 --- /dev/null +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Managing your personal account +intro: 'You can manage your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For example, you can {% ifversion fpt or ghec %}manage multiple accounts, {% endif %}convert an account to an organization{% ifversion fpt or ghec or ghes %}, or delete an account{% endif %}.' +shortTitle: Manage personal account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..849ff80600 --- /dev/null +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Managing multiple accounts +intro: 'If you use one workstation to contribute to projects for more than one account on {% data variables.product.product_location %}, you can modify your Git configuration to simplify the contribution process.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Manage multiple accounts +--- + +## About management of multiple accounts + +In some cases, you may need to use multiple accounts on {% data variables.product.product_location %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise. + +You cannot use your {% data variables.product.prodname_managed_user %} to contribute to public projects on {% data variables.product.product_location %}, so you must contribute to those resources using your personal account. For more information, see "[About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %} + +If you want to use one workstation to contribute from both accounts, you can simplify contribution with Git by using a mixture of protocols to access repository data, or by using credentials on a per-repository basis. + +{% warning %} + +**Warning**: Be mindful when you use one workstation to contribute to two separate accounts. Management of two or more accounts can increase the chance of mistakenly leaking internal code to the public. + +{% endwarning %} + +If you aren't required to use a {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.product.product_location %}. With a single personal account, you can contribute to a combination of personal, open source, or professional projects using one identity. Other people can invite the account to contribute to both individual repositories and repositories owned by an organization, and the account can be a member of multiple organizations or enterprises. + +## Contributing to two accounts using HTTPS and SSH + +If you contribute with two accounts from one workstation, you can access repositories by using a different protocol and credentials for each account. + +Git can use either the HTTPS or SSH protocol to access and update data in repositories on {% data variables.product.product_location %}. The protocol you use to clone a repository determines which credentials your workstation will use to authenticate when you access the repository. With this approach to account management, you store the credentials for one account to use for HTTPS connections and upload an SSH key to the other account to use for SSH connections. + +You can find both the HTTPS or an SSH URLs for cloning a repository on {% data variables.product.product_name %}. Para obter mais informações, consulte "[Clonar um repositório](/repositories/creating-and-managing-repositories/cloning-a-repository)". + +For more information about the use of SSH to access repositories on {% data variables.product.product_name %}, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +## Contributing to multiple accounts using HTTPS and PATs + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens (PAT) for each account by configuring Git to store different credentials for each repository. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - If the output is `osxkeychain`, you're using the macOS keychain. To clear the credentials, enter the following command. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. Abra o Git Bash. +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - If the output is `wincred`, you're using the Windows Credential Manager. To clear the credentials, enter the following command. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contributing to multiple accounts using SSH and `GIT_SSH_COMMAND` + +If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps. +1. Determine the repository's full name with owner, using a command such as `git config --get remote.origin.url`. +2. Choose the correct SSH key for authentication. +3. Modify `GIT_SSH_COMMAND` accordingly. For more information about `GIT_SSH_COMMAND`, see [Environment Variables](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) in the Git documentation. + +For example, the following command sets the `GIT_SSH_COMMAND` environment variable to specify an SSH command that uses the private key file at **_PATH/TO/KEY/FILE_** for authentication to clone the repository named **_OWNER_**/**_REPOSITORY_** on {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 94% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index 559408d40b..b7f575a12a 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: Fazer merge de várias contas pessoais +shortTitle: Merge multiple accounts --- {% tip %} diff --git a/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md index cc2b51f8ac..49c4a1a9a5 100644 --- a/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md +++ b/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -38,10 +38,10 @@ Você pode adicionar a ação que você criou em {% data variables.product.prodn Para compartilhar uma nova versão e publicar a ação em {% data variables.product.prodname_marketplace %}, siga essas instruções: {% data reusables.repositories.navigate-to-repo %} -1. Navigate to the action metadata file in your repository (`action.yml` or `action.yaml`), and you'll see a banner to publish the action to {% data variables.product.prodname_marketplace %}. Clique em **Elaborar uma versão**. +1. Acesse o arquivo de metadados de ação no repositório (`action.yml` ou `. aml`), e você verá um banner para publicar a ação em {% data variables.product.prodname_marketplace %}. Clique em **Elaborar uma versão**. - ![Publish this action to marketplace button](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) -1. Under "Release Action", select the checkbox to publish the action to the {% data variables.product.prodname_marketplace %}. If you can't select the checkbox, you must first click the link to read and accept the {% data variables.product.prodname_marketplace %} Developer Agreement. ![Selecione publicar no "Marketplace"](/assets/images/help/repository/marketplace_actions_publish.png) + ![Publicar esta ação no botão marketplace](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) +1. Em "Ação de versão", selecione a caixa de seleção para publicar a ação em {% data variables.product.prodname_marketplace %}. Se você não puder selecionar a caixa de seleção, primeiro clique no link para ler e aceitar o Contrato de Desenvolvedor de {% data variables.product.prodname_marketplace %}. ![Selecione publicar no "Marketplace"](/assets/images/help/repository/marketplace_actions_publish.png) 1. Se as etiquetas do seu arquivo de metadados tiverem algum problema, você receberá uma mensagem de erro. ![Veja a notificação](/assets/images/help/repository/marketplace_actions_fixerrors.png) 1. Se você ver alguma sugestão na tela, resolva-as atualizando o arquivo de metadados. Após a conclusão, você receberá a mensagem "Tudo está OK". ![Corrigir erros](/assets/images/help/repository/marketplace_actions_looksgood.png) 1. Escolha uma "categoria primária" e, opcionalmente, "outra categoria", que ajudará as pessoas a encontrar a sua ação em {% data variables.product.prodname_marketplace %}. ![Escolha a categoria](/assets/images/help/repository/marketplace_actions_categories.png) diff --git a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index de8f1ed041..ada2a3be95 100644 --- a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ O exemplo a seguir do token do OIDC usa um assunto (`sub`) que faz referência a "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -130,6 +131,7 @@ O token também inclui reivindicações personalizadas fornecidas por {% data va | `job_workflow_ref` | Este é o caminho ref para o fluxo de trabalho reutilizável usado por este trabalho. Para obter mais informações, consulte "["Usando o OpenID Connect com fluxos de trabalho reutilizáveis"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows). | | `ref` | _(Referência)_ A ref do git que acionou a execução do fluxo de trabalho. | | `ref_type` | O tipo de `ref`, por exemplo: "branch". | +| `repo_visibility` | A visibilidade do repositório onde o fluxo de trabalho está em execução. Aceita os seguintes valores: `interno`, `privado` ou `público`. | | `repositório` | O repositório de onde o fluxo de trabalho está sendo executado. | | `repository_id` | O ID do repositório de onde o fluxo de trabalho está sendo executado. | | `repository_owner` | O nome da organização em que o `repositório` é armazenado. | @@ -240,6 +242,185 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Personalizando as reivindicações de token + +Você pode garantir a segurança da sua configuração do OIDC personalizando as reivindicações incluídas com a JWT. Isso permite que seu provedor de nuvem aplique mais condições de confiança granular ao determinar se concede acesso a seus recursos. For example, {% ifversion ghec %}you can customize the issuer (`iss`) claim to only allow access from a specific enterprise URL, and {% endif %}you can customize the subject (`sub`) value to require that requests originate from a specific repository, reusable workflow, or other source. + +Para configurar as condições de reivindicação em {% data variables.product.prodname_dotcom %}, você pode usar os pontos de extremidade da REST API descritos nas seguintes seções. + +{% ifversion ghec %} + +### Mudando para um URL único de token + +Por padrão, o JWT é emitido pelo provedor de OIDC de {% data variables.product.prodname_dotcom %} em `https://token.actions.githubusercontent.com`. Esse caminho é apresentado ao seu provedor de nuvem usando o valor de `iss` no JWT. + +Os administradores da empresa podem fortalecer a configuração do OIDC, configurando as suas empresas para receber tokens de um URL único em `https://api. ithub.com/enterprises//actions/oidc/customization/issuer`. Substitua `` pelo valor slug da sua empresa. + +Essa configuração significa que sua empresa receberá o token do OIDC de uma URL exclusiva, e você poder, a em seguida, configurar seu provedor de nuvem para aceitar apenas tokens dessa URL. Isso ajuda a garantir que apenas os repositórios da empresa podem acessar seus recursos na nuvem usando OIDC. + +Para ativar essa configuração para sua empresa, um administrador da empresa deve usar o ponto de extremidade `/enterprises/{enterprise}/actions/oidc/customization/issuer` e especificar `"include_enterprise_slug": true` no texto da solicitação. Para obter mais informações, consulte "[Definir a política do emissor personalizado do OIDC de {% data variables.product.prodname_actions %} para uma empresa](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)". + +Depois que esta configuração for aplicada, o JWT conterá o valor atualizado de `iss`. No exemplo a seguir, a chave `iss` usa `octocat-inc` como seu valor de `enterpriseSlug`: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Personalizando as reivindicações de assunto para uma organização + +Para configurar a segurança, conformidade e padronização em toda a organização, você pode personalizar as reivindicações padrão que atendem às suas condições de acesso necessárias. Se seu provedor de nuvem é compatível com condições para reivindicações de objetos, você pode criar uma condição que verifica se o valor `sub` corresponde ao caminho do fluxo de trabalho reutilizável, como `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. O formato exato irá variar dependendo da configuração do OIDC do seu provedor de nuvem. Para configurar a condição de correspondência em {% data variables.product.prodname_dotcom %}, você pode usar a API REST para exigir que a reivindicação do `sub` deva sempre incluir uma reivindicação personalizada, como `job_workflow_ref`. Para obter mais informações, consulte "[Definir o modelo de personalização para uma reivindicação de assunto do OIDC para uma organização](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". + +Os modelos de exemplo a seguir demonstram várias maneiras de personalizar a reivindicação de assunto. Para configurar estas configurações em {% data variables.product.prodname_dotcom %}, os administradores da organização usam a API REST para especificar uma lista de reclamações que devem ser incluídas no assunto (`sub`) da reclamação. {% data reusables.actions.use-request-body-api %} + +Para personalizar suas reivindicações de assunto, você deve primeiro criar uma condição de correspondência na configuração do OIDC do seu provedor de nuvem, antes de adicionar a configuração usando a API REST. Uma vez que a configuração estiver concluída, cada vez que um novo trabalho for executado, o token do OIDC gerado durante aquele trabalho seguirá o novo modelo de personalização. Se a condição de correspondência não existir na configuração do OIDC do provedor de nuvem antes de o trabalho ser executado, o token gerado poderá não ser aceito pelo provedor da nuvem, já que as condições da nuvem podem não ser sincronizadas. + +{% note %} + +**Observação**: Quando o modelo de organização é aplicado, ele não afetará nenhum repositório existente que já usa o OIDC. Para novos repositórios criados depois que o modelo for aplicado, o proprietário do repositório deverá optar por receber esta configuração. Para obter mais informações, consulte "[Definir o sinalizador da opção de participação da personalização da reivindicação de assunto do OIDC para um repositório](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)". + +{% endnote %} + +#### Exemplo: Permitir o repositório com base na visibilidade e no proprietário + +Este modelo de exemplo habilita o acesso de nuvem com base na visibilidade e proprietário do repositório, permitindo que você restrinja o acesso a repositórios privados em uma organização ou empresa. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações inculam valores específicos para `repository_owner` e `repository_visibility`. Por exemplo: `"repository_owner: "monalisa":repository_visibility:private"`. + +#### Exemplo: Permitir acesso a todos os repositórios com um proprietário específico + +Este modelo de exemplo concede acesso a todos os repositórios com um repositório `repository_owner` especificado. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam um valor específico para `repository_owner`. Por exemplo: `"repository_owner: "monalisa""` + +#### Exemplo: Exigindo um fluxo de trabalho reutilizável + +Este modelo de exemplo exige um fluxo de trabalho reutilizável específico em uma reivindicação, permitindo que uma empresa implique implantações consistentes em suas empresas, organizações e repositórios. {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam um valor específico para `job_workflow_ref`. Por exemplo: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Exemplo: Exigindo um fluxo de trabalho reutilizável e outras reivindicações + +Este modelo de exemplo combina o requisito de um fluxo de trabalho específico reutilizável com reclamações adicionais. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações inculam valores específicos para `repo`, `context` e `job_workflow_ref`. + +#### Exemplo: Conceder acesso a um repositório específico + +Este modelo de exemplo permite conceder acesso na nuvem a todos os fluxos de trabalho em um repositório específico, em todos os branches, tags e ambientes. Para ajudar a melhorar a segurança, combine este modelo com a URL do emissor personalizado descrita em "[Personalizando a URL do token para uma empresa](/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" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir uma reivindicação de `repositório` que corresponda ao valor necessário. + +#### Exemplo: Usando GUIDs gerados pelo sistema + +Este modelo de exemplo habilita as reivindicações previsíveis do OIDC com GUIDs geradas pelo sistema que não mudam entre renomeações de entidades (como renomear um repositório). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir a reivindicação de `repository_id` que corresponde ao valor necessário. + +ou: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir uma reivindicação de `repository_owner_id` que corresponde ao valor necessário. + +#### Redefinindo suas personalizações + +Este modelo de exemplo redefine as reivindicações de assunto para o formato padrão. {% data reusables.actions.use-request-body-api %} Este modelo efetivamente opta por não participar de qualquer política de personalização no nível da organização. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam valores específicos para `repo` e `contexto`. + +#### Usando as reivindicações de assunto padrão + +Para repositórios que podem receber uma política de reivindicação de assuntos da sua organização, o proprietário do repositório pode optar por não participar e, em vez disso, usar o formato padrão `sub` para solicitação. Para configurar isso, o administrador do repositório deve usar o ponto de extremidade da API REST em"[Definir o sinalizador para não participar da personalização da reivindicação de assunto do OIDC para um repositório](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" com o seguinte texto de solicitação: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## Atualizando seus fluxos de trabalho para o OIDC Agora você pode atualizar seus fluxos de trabalho do YAML para usar tokens de acesso do OIDC em vez de segredos. Os provedores de nuvem populares publicaram suas ações de login oficiais que facilitam o seu início de sessão com o OIDC. Para obter mais informações sobre a atualização dos seus fluxos de trabalho, consulte os guias específicos da nuvem listados abaixo em "[Habilitando o OpenID Connect para o seu provedor de nuvem](#enabling-openid-connect-for-your-cloud-provider)". diff --git a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index 7014cad6f4..954201a345 100644 --- a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ Este guia fornece uma visão geral sobre como configurar o cofre HashiCorp para Para usar OIDC com oHashiCorp Vault, você deverá adicionar uma configuração de confiança ao provedor do OIDC de {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte a [documentação](https://www.vaultproject.io/docs/auth/jwt) do HashiCorp Vault. -Configure o cofre para aceitar tokens web do JSON (JWT) para a autenticação: -- Para o `oidc_discovery_url`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Para `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Certifique-se de que `bound_subject` esteja corretamente definido para seus requisitos de segurança. Para obter mais informações, consulte ["Configurar a confiança do OIDC com a nuvem"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) e [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action). +Para configurar o seu servidor Vault para aceitar o JSON Web Tokens (JWT) para autenticação: + +1. Habilite o método de autenticação `JWT` e use `gravar` para aplicar a configuração do seu Vault. Para os parâmetros `oidc_discovery_url` e `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. Estes parâmetros permitem que o servidor do Vault verifique os JSON Web Tokens recebidos (JWT) durante o processo de autenticação. + + ```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. Configure uma política que concede apenas acesso aos caminhos específicos que seus fluxos de trabalho serão usados para recuperar segredos. Para políticas mais avançadas, consulte o as [Políticas documentação](https://www.vaultproject.io/docs/concepts/policies) do HashiCorp Vault. + + ```sh{:copy} + vault policy write myproject-production - <`: Substitua isso pela URL do seu HashiCorp Vault. +- ``: Substitu-o pelo Namespace que você colocou no HashiCorp Vault. Por exemplo: `administrador`. - ``: Substitua isso pela função que você definiu no relacionamento de confiança do HashiCorp Vault. -- ``: Substitua isso pela audiência que você definiu no relacionamento de confiança do HashiCorp Vault. -- ``: Substitua isso pelo caminho para o segredo que você está recuperando do HashiCorp Vault. Por exemplo: `secret/data/ci npmToken`. +- ``: Substitua isso pelo caminho para o segredo que você está recuperando do HashiCorp Vault. Por exemplo: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**Observação**: + +- Se o seu servidor do Vault não puder ser acessado a partir da rede pública, considere usar um executor auto-hospedado com outros [auth methods](https://www.vaultproject.io/docs/auth) disponíveis para o Vault. Para obter mais informações, consulte "[Sobre os executores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)." +- `` deve ser definido para uma implantação da empresa do Vault (incluindo HCP Vault). Para obter mais informações, consulte [Namespace do Vault](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revogando o token de acesso + +Por padrão, o servidor do Vault irá revogar automaticamente os tokens de acesso quando seu TTL vencer, portanto, você não precisa revogar manualmente os tokens de acesso. No entanto, se você deseja revogar os tokens de acesso imediatamente após o seu trabalho terminar ou falhar, você poderá revogar manualmente o token emitido usando a API do Vault [](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Defina a opção `exportToken` como `verdadeiro` (padrão: `falso`). Isso exporta o token de acesso do Vault emitido como uma variável de ambiente: `VAULT_TOKEN`. +2. Adicione um passo para chamar a API do Vault [Revogar um Token (Self)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) para revogar o token de acesso. + +```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/pt-BR/content/actions/learn-github-actions/contexts.md b/translations/pt-BR/content/actions/learn-github-actions/contexts.md index d1d17ceb96..916598c116 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/contexts.md +++ b/translations/pt-BR/content/actions/learn-github-actions/contexts.md @@ -33,17 +33,13 @@ Você pode acessar contextos usando a sintaxe da expressão. Para obter mais inf {% data reusables.actions.context-injection-warning %} -| Nome do contexto | Tipo | Descrição | -| ---------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `github` | `objeto` | Informações sobre a execução do fluxo de trabalho. Para obter mais informações, consulte [contexto `github`](#github-context). | -| `env` | `objeto` | Contém variáveis de ambiente definidas em um fluxo de trabalho, trabalho ou etapa. Para obter mais informações, consulte o contexto [`env`](#env-context). | -| `trabalho` | `objeto` | Informações sobre o trabalho atualmente em execução. Para obter mais informações, consulte [contexto `trabalho`](#job-context). | -| `steps` | `objeto` | Informações sobre as etapas que foram executadas no trabalho atual. Para obter mais informações, consulte [contexto `etapas`](#steps-context). | -| `runner` | `objeto` | Informações sobre o executor do trabalho atual. Para obter mais informações, consulte [`runner` context](#runner-context). | -| `secrets` | `objeto` | Contém nomes e valores de segredos que estão disponíveis para a execução de um fluxo de trabalho. Para obter mais informações, consulte o contexto [`segredos`](#secrets-context). | -| `strategy` | `objeto` | Informações sobre a estratégia de execução da matriz para o trabalho atual. Para obter mais informações, consulte o contexto [`estratégia`](#strategy-context). | -| `matrix` | `objeto` | Contém as propriedades da matriz definidas no fluxo de trabalho que se aplicam ao trabalho atual. Para obter mais informações, consulte o contexto [`matriz`](#matrix-context). | -| `needs` | `objeto` | Contém os resultados de todos os trabalhos que são definidos como uma dependência do trabalho atual. Para obter mais informações, consulte o contexto [`needs`](#needs-context). | +| Nome do contexto | Tipo | Descrição | +| ---------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `github` | `objeto` | Informações sobre a execução do fluxo de trabalho. Para obter mais informações, consulte [contexto `github`](#github-context). | +| `env` | `objeto` | Contém variáveis de ambiente definidas em um fluxo de trabalho, trabalho ou etapa. Para obter mais informações, consulte o contexto [`env`](#env-context). | +| `trabalho` | `objeto` | Informações sobre o trabalho atualmente em execução. Para obter mais informações, consulte [contexto `trabalho`](#job-context). | +{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} +| `jobs` | `object` | For reusable workflows only, contains outputs of jobs from the reusable workflow. For more information, see [`jobs` context](#jobs-context). |{% endif %} | `steps` | `object` | Information about the steps that have been run in the current job. Para obter mais informações, consulte [contexto `etapas`](#steps-context). | | `runner` | `object` | Information about the runner that is running the current job. Para obter mais informações, consulte [`runner` context](#runner-context). | | `secrets` | `object` | Contains the names and values of secrets that are available to a workflow run. Para obter mais informações, consulte o contexto [`segredos`](#secrets-context). | | `strategy` | `object` | Information about the matrix execution strategy for the current job. Para obter mais informações, consulte o contexto [`estratégia`](#strategy-context). | | `matrix` | `object` | Contains the matrix properties defined in the workflow that apply to the current job. Para obter mais informações, consulte o contexto [`matriz`](#matrix-context). | | `needs` | `object` | Contains the outputs of all jobs that are defined as a dependency of the current job. Para obter mais informações, consulte o contexto [`needs`](#needs-context). | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} | `entradas` | `objeto` | Contém as entradas de {% ifversion actions-unified-inputs %} reutilizável ou um fluxo de travalho acionado {% endif %} manualmente. Para obter mais informações, consulte o contexto [`entradas`](#inputs-context). |{% endif %} @@ -84,7 +80,7 @@ A tabela a seguir indica onde cada contexto e função especial pode ser utiliza | jobs.<job_id>.name | github, necessidades, estratégia, matriz, entradas | | | jobs.<job_id>.outputs.<output_id> | github, necessidades, estratégia, matriz, trabalho, executor, env, segredos, etapas, entradas | | | jobs.<job_id>.runs-on | github, necessidades, estratégia, matriz, entradas | | -| 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>.secrets.<secrets_id> | github, necessidades, estratégia de {% ifversion actions-reusable-workflow-matrix %}, matriz,{% endif %} segredos{% ifversion actions-unified-inputs %}, entradas{% endif %} | | | jobs.<job_id>.services | github, necessidades, estratégia, matriz, entradas | | | jobs.<job_id>.services.<service_id>.credentials | github, necessidades, estratégia, matrix, env, segredos, entradas | | | jobs.<job_id>.services.<service_id>.env.<env_id> | github, necessidades, estratégia, matrix, trabalho, executor, env, segredos, entradas | | @@ -98,7 +94,7 @@ A tabela a seguir indica onde cada contexto e função especial pode ser utiliza | jobs.<job_id>.steps.working-directory | github, necessidades, estratégia, matriz, trabalho, executor, env, segredos, etapas, entradas | hashFiles | | jobs.<job_id>.strategy | github, necessidades, entradas | | | jobs.<job_id>.timeout-minutes | github, necessidades, estratégia, matriz, entradas | | -| jobs.<job_id>.with.<with_id> | github, needs{% ifversion actions-reusable-workflow-matrix %}, strategy, matrix{% endif %}{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| jobs.<job_id>.with.<with_id> | github, necessidades{% ifversion actions-reusable-workflow-matrix %}, estratégia, matriz{% endif %}{% ifversion actions-unified-inputs %}, entradas{% 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 %} @@ -200,7 +196,7 @@ O contexto `github` context contém informações sobre a execução do fluxo de {%- ifversion fpt or ghec or ghes > 3.5 or ghae-issue-4722 %} | `github.run_attempt` | `string` | Um número exclusivo para cada tentativa de execução de um fluxo de trabalho específico em um repositório. Este número começa em 1 para a primeira tentativa de execução do fluxo de trabalho e aumenta a cada nova execução. | {%- endif %} -| `github.server_url` | `string` | A URL do servidor do GitHub. Por exemplo: `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. Isso é funcionalmente equivalente ao segredo `GITHUB_TOKEN`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)".
Observação: Esta propriedade de contexto é definida pelo executor do Actions e só está disponível dentro da execução `etapas` de um trabalho. Caso contrário, o valor desta propriedade será `nulo`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | O nome de usuário do usuário que iniciou a execução do fluxo de trabalho. Se a execução do fluxo de trabalho for uma nova execução, este valor poderá ser diferente de `github.actor`. Qualquer repetição de fluxo de trabalho usará os privilégios de `github.actor`, mesmo se o ator que iniciar a nova execução (`github.triggering_actor`) tiver privilégios diferentes. |{% endif %} | `github.workflow` | `string` | O nome do fluxo de trabalho. Se o fluxo de trabalho não determina um `name` (nome), o valor desta propriedade é o caminho completo do arquivo do fluxo de trabalho no repositório. | | `github.workspace` | `string` | O diretório de trabalho padrão no executor para as etapas e a localidade padrão do seu repositório ao usar a ação [`checkout`](https://github.com/actions/checkout). | +| `github.server_url` | `string` | A URL do servidor do GitHub. Por exemplo: `https://github.com`. | | `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | | `github.token` | `string` | Um token para efetuar a autenticação em nome do aplicativo GitHub instalado no seu repositório. Isso é funcionalmente equivalente ao segredo `GITHUB_TOKEN`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)".
Observação: Esta propriedade de contexto é definida pelo executor do Actions e só está disponível dentro da execução `etapas` de um trabalho. Caso contrário, o valor desta propriedade será `nulo`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | O nome de usuário do usuário que iniciou a execução do fluxo de trabalho. Se a execução do fluxo de trabalho for uma nova execução, este valor poderá ser diferente de `github.actor`. Qualquer repetição de fluxo de trabalho usará os privilégios de `github.actor`, mesmo se o ator que iniciar a nova execução (`github.triggering_actor`) tiver privilégios diferentes. |{% endif %} | `github.workflow` | `string` | O nome do fluxo de trabalho. Se o fluxo de trabalho não determina um `name` (nome), o valor desta propriedade é o caminho completo do arquivo do fluxo de trabalho no repositório. | | `github.workspace` | `string` | O diretório de trabalho padrão no executor para as etapas e a localidade padrão do seu repositório ao usar a ação [`checkout`](https://github.com/actions/checkout). | ### Exemplo de conteúdo do contexto `github` @@ -390,6 +386,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## `jobs` context + +The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. Para obter mais informações, consulte "[Reutilizando fluxos de trabalho](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". + +| Nome da propriedade | Tipo | Descrição | +| ------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `jobs` | `objeto` | This is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. Este objeto contém todas as propriedades listadas abaixo. | +| `jobs..result` | `string` | The result of a job in the reusable workflow. Os valores possíveis são: `sucesso`, `falha`, `cancelado`ou `ignorado`. | +| `jobs..outputs` | `objeto` | 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. Para obter mais informações, consulte "[Reutilizando fluxos de trabalho](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## Contexto `etapas` O contexto `etapas` contém informações sobre as etapas do trabalho atual que possuem um [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) especificado e já executado. diff --git a/translations/pt-BR/content/actions/learn-github-actions/expressions.md b/translations/pt-BR/content/actions/learn-github-actions/expressions.md index e27fd2a01a..6aaef56655 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/expressions.md +++ b/translations/pt-BR/content/actions/learn-github-actions/expressions.md @@ -129,17 +129,17 @@ Retorna `verdadeiro` se a `pesquisa` contiver `item`. Se a `pesquisa` for uma ar `contains('Hello world', 'llo')` retorna `true`. -#### Example using an object filter +#### Exemplo que usa um filtro de objeto -`contains(github.event.issue.labels.*.name, 'bug')` returns `true` if the issue related to the event has a label "bug". +`contains(github.event.issue.labels.*.name, 'bug')` retorna `true` se o problema relacionado ao evento tiver uma etiqueta de "erro". -For more information, see "[Object filters](#object-filters)." +Para obter mais informações, consulte "[Filtros de objeto](#object-filters)". -#### Example matching an array of strings +#### Exemplo correspondente a uma matriz de 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`. +Em vez de escrever `github.event_name == "push" || github.event_name == "pull_request"`, você pode usar `contains()` com `fromJson()` para verificar se uma matriz de strings contém um `item`. -For example, `contains(fromJson('["push", "pull_request"]'), github.event_name)` returns `true` if `github.event_name` is "push" or "pull_request". +Por exemplo, `contains(fromJson('["push", "pull_request"]'), github.event_name)` retorna `true` se `github.event_name` for "push" ou "pull_request". ### startsWith diff --git a/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md b/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md index 3ecc33d026..0316eea71b 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md @@ -93,7 +93,7 @@ Para obter mais informações, consulte "[Criar ações](/actions/creating-actio - Para continuar aprendendo sobre {% data variables.product.prodname_actions %}, consulte "[Encontrar e personalizar ações](/actions/learn-github-actions/finding-and-customizing-actions)". {% ifversion fpt or ghec or ghes %} -- Para entender como a cobrança funciona para {% data variables.product.prodname_actions %}, consulte "[Sobre cobrança para {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)". +- Para entender como a cobrança funciona para {% data variables.product.prodname_actions %}, consulte "[Sobre cobrança para {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## Entrar em contato com o suporte diff --git a/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index eaf2c87860..50c035a241 100644 --- a/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -204,7 +204,7 @@ npm-d5ea0750 ### Usando a saída da ação do `cache` -Você pode usar a ação `cache` para fazer algo baseado em se ocorreu uma correspondência de cache ou se a falha ocorreu. When an exact match is found for a cache for the specified `key`, the `cache-hit` output is set to `true`. +Você pode usar a ação `cache` para fazer algo baseado em se ocorreu uma correspondência de cache ou se a falha ocorreu. Quando uma correspondência exata é encontrada para um cache para a tecla `especificada`, o `cache-hit` é definido como `verdadeiro`. No exemplo de fluxo de trabalho acima, há uma etapa que lista o estado dos módulos do Node se ocorrer uma falha de cache: diff --git a/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md b/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md index 0931cbacb1..92c50fff97 100644 --- a/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md +++ b/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md @@ -39,7 +39,7 @@ Você pode visualizar os fluxos de trabalho referenciados nos seus fluxos de tra ### Fluxos de trabalho e fluxos de trabalho iniciais reutilizáveis -Os fluxos de trabalho iniciais permitem que todos em sua organização que têm permissão para criar fluxos de trabalho o façam de forma mais rápida e facilmente. Quando as pessoas criam um novo fluxo de trabalho, eles podem escolher um fluxo de trabalho inicial e uma parte ou todo o trabalho de escrita do fluxo de trabalho será feito para essas pessoas. Dentro de um fluxo de trabalho inicial, você também pode fazer referência a fluxos de trabalho reutilizáveis para facilitar a utilização de código de fluxo de trabalho gerenciado centralmente. 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. No entanto, se você fizer referência a um fluxo de trabalho reutilizável por uma tag ou branch, certifique-se de que você poderá confiar nessa versão do fluxo de trabalho. Para obter mais informações, consulte "[Fortalecimento da segurança para {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#reusing-third-party-workflows)". +Os fluxos de trabalho iniciais permitem que todos em sua organização que têm permissão para criar fluxos de trabalho o façam de forma mais rápida e facilmente. Quando as pessoas criam um novo fluxo de trabalho, eles podem escolher um fluxo de trabalho inicial e uma parte ou todo o trabalho de escrita do fluxo de trabalho será feito para essas pessoas. Dentro de um fluxo de trabalho inicial, você também pode fazer referência a fluxos de trabalho reutilizáveis para facilitar a utilização de código de fluxo de trabalho gerenciado centralmente. Se você usar um commit SHA ao fazer referência ao fluxo de trabalho reutilizável, você poderá garantir que todos que reutilizarem esse fluxo de trabalho sempre usarão o mesmo código YAML. No entanto, se você fizer referência a um fluxo de trabalho reutilizável por uma tag ou branch, certifique-se de que você poderá confiar nessa versão do fluxo de trabalho. Para obter mais informações, consulte "[Fortalecimento da segurança para {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#reusing-third-party-workflows)". Para obter mais informações, consulte "[Criando fluxos de trabalho iniciais para a sua organização](/actions/learn-github-actions/creating-starter-workflows-for-your-organization)". @@ -70,13 +70,13 @@ Fluxos de trabalho chamados que são propriedade do mesmo usuário ou organizaç ## Limitações {% ifversion nested-reusable-workflow %} -* You can connect up to four levels of workflows. For more information, see "[Calling a nested reusable workflow](#calling-a-nested-reusable-workflow)." +* Você pode se conectar a até quatro níveis de fluxos de trabalho. Para obter mais informações, consulte "[Chamando um fluxo de trabalho reutilizado aninhado](#calling-a-nested-reusable-workflow)". {% else %} * Os fluxos de trabalho reutilizáveis não podem chamar outros fluxos de trabalho reutilizáveis. {% endif %} * Os fluxos de trabalho armazenados dentro de um repositório privado só podem ser usados por fluxos de trabalho dentro do mesmo repositório. -* Qualquer variável de ambiente definida em um contexto `env` definido no nível do fluxo de trabalho no fluxo de trabalho da chamada não é propagada para o fluxo de trabalho chamado. 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 %} +* Qualquer variável de ambiente definida em um contexto `env` definido no nível do fluxo de trabalho no fluxo de trabalho da chamada não é propagada para o fluxo de trabalho chamado. Para obter mais informações sobre o contexto `env`, consulte "[Sintaxe de contexto e expressão para o GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#env-context)".{% ifversion actions-reusable-workflow-matrix %}{% else %} +* A propriedade `estratégia` não é compatível em nenhum trabalho que chame um fluxo de trabalho reutilizável.{% endif %} ## Criar um fluxo de trabalho reutilizável @@ -113,7 +113,7 @@ Você pode definir entradas e segredos, que podem ser passados do fluxo de traba {% 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)." + **Observação**: Se os segredos são herdados pelo uso de `secrets: inherit` no fluxo de trabalho chamado, você poderá referenciá-los mesmo se eles não estiverem definidos explicitamente na chave `on`. Para obter mais informações, consulte "[Sintaxe do fluxo de trabalho para o GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." {% endnote %} {%- else %} @@ -175,15 +175,15 @@ jobs: ``` {% endraw %} {% ifversion actions-reusable-workflow-matrix %} -## Using a matrix strategy with a reusable workflow +## Usando estratégia matrix com fluxo de trabalho reutilizável -Jobs using the matrix strategy can call a reusable workflow. +Os trabalhos que usam a estratégia matrix podem chamar um fluxo de trabalho reutilizável. -Uma estratégia de matriz permite usar variáveis em uma única definição de trabalho para criar automaticamente várias execuções de trabalho que são baseadas nas combinações das variáveis. For example, you can use a matrix strategy to pass different inputs to a reusable workflow. Para obter mais informações sobre matrizes, consulte "[Usando uma matriz para seus trabalhos](/actions/using-jobs/using-a-matrix-for-your-jobs)." +Uma estratégia de matriz permite usar variáveis em uma única definição de trabalho para criar automaticamente várias execuções de trabalho que são baseadas nas combinações das variáveis. Por exemplo, você pode usar uma estratégia da matrix para passar entradas diferentes para um fluxo de trabalho reutilizável. Para obter mais informações sobre matrizes, consulte "[Usando uma matriz para seus trabalhos](/actions/using-jobs/using-a-matrix-for-your-jobs)." -### Example matrix strategy with a reusable workflow +### Exemplo de estratégia matrix com um fluxo de trabalho reutilizável -This workflow file references the matrix context by defining the variable `target` with the values `[dev, stage, prod]`. O fluxo de trabalho irá executar três trabalhos, um por cada valor na variável. The workflow file also calls a reusable workflow by using the `uses` keyword. +Este arquivo de fluxo de trabalho faz referência ao contexto da matriz, definindo a variável `destino` com os valores `[dev, stage, prod]`. O fluxo de trabalho irá executar três trabalhos, um por cada valor na variável. O arquivo do fluxo de trabalho também chama um fluxo de trabalho reutilizável usando o a palavra-chave `uses`. {% raw %} ```yaml{:copy} @@ -274,11 +274,11 @@ jobs: {% endraw %} {% ifversion nested-reusable-workflow %} -## Nesting reusable workflows +## Aninhando fluxos de trabalho reutilizáveis -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. +É possível conectar um máximo de quatro níveis de fluxos de trabalho, ou seja, o fluxo de trabalho de chamadas de nível superior e até três níveis de fluxos de trabalho reutilizáveis. Por exemplo: _caller-workflow.yml_ → _called-workflow-1.yml_ → _called-workflow-2.yml_ → _called-workflow-3.yml_. Não são permitidos loops na árvore de fluxo de trabalho. -From within a reusable workflow you can call another reusable workflow. +De dentro de um fluxo de trabalho reutilizável, você pode chamar outro fluxo de trabalho reutilizável. {% raw %} ```yaml{:copy} @@ -293,11 +293,11 @@ jobs: ``` {% endraw %} -### Passing secrets to nested workflows +### Passando segredos para fluxos de trabalho aninhados -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. +Você pode usar `jobs..secrets` em um fluxo de trabalho de chamadas para passar segredos nomeados para um fluxo de trabalho diretamente chamado. Como alternativa, você pode usar `jobs..secrets.inherit` para passar todos os segredos do fluxo de trabalho para um fluxo de trabalho chamado diretamente. Para obter mais informações, consulte a seção "[Passando entradas e segredos para um fluxo de trabalho reutilizável](/actions/using-workflows/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow)" acima e o artigo de referência "[Sintaxe do fluxo de trabalho para o GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." Os segredos são passados apenas para o fluxo de trabalho diretamente, portanto, na cadeia de fluxo de trabalho A > B > C, o fluxo de trabalho C só receberá segredos de A se eles foram passados de A para B e, posteriormente, B para 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. +No exemplo a seguir, o fluxo de trabalho A passa todos os seus segredos para o fluxo de trabalho B, usando a palavra-chave `inherit`, mas o fluxo de trabalho B só passa um segredo para o fluxo de trabalho C. Qualquer um dos outros segredos passados para o fluxo de trabalho B não está disponível para o fluxo de trabalho C. {% raw %} ```yaml @@ -316,18 +316,18 @@ jobs: ``` {% endraw %} -### Access and permissions +### Acesso e permissões -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)." +Um fluxo de trabalho que contém fluxos de trabalho reutilizáveis aninhados irá falhar caso algum dos fluxos de trabalho aninhados não possa ser acessado para o fluxo de trabalho inicial de chamadas. Para obter mais informações, consulte "[Acesso para fluxos de trabalho reutilizáveis](/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. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)". +As permissões do `GITHUB_TOKEN` só podem ser a mesma ou mais restritivas em fluxos de trabalho aninhados. Por exemplo, na cadeia de fluxo de trabalho A > B > C, se o fluxo de trabalho A tiver a permissão do token `package: read`, logo, B e C não poderão ter a permissão `package: write`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)". {% endif %} ## Usando saídas de um fluxo de trabalho reutilizável -Um fluxo de trabalho reutilizável pode gerar dados que você deseja usar no fluxo de trabalho da chamada. To use these outputs, you must specify them as the outputs of the reusable workflow.{% ifversion actions-reusable-workflow-matrix %} +Um fluxo de trabalho reutilizável pode gerar dados que você deseja usar no fluxo de trabalho da chamada. Para usar essas saídas, você deve especificá-las como saídas do fluxo de trabalho reutilizável.{% 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 %} +Se um fluxo de trabalho reutilizável que define uma saída é executada com uma estratégia matrix, a saída será definida pela última conclusão bem-sucedida do fluxo de trabalho reutilizável da matriz que realmente define um valor. Isso significa que se a última conclusão bem sucedida de fluxo de trabalho reutilizável define uma string vazia para sua saída, e o segundo último sucesso de conclusão do fluxo de trabalho reutilizável define um valor real para sua saída, a saída conterá o valor do segundo concluindo o fluxo de trabalho reutilizável.{% endif %} O seguinte fluxo de trabalho reutilizável tem um único trabalho que contém duas etapas. Em cada uma dessas etapas, definimos uma única palavra como a saída: "olá" e "mundo". Na seção `saídas` do trabalho, nós mapeamos esses saídas de etapa para o trabalho chamada: `ouput1` e `ouput2`. Em seguida, na seção `on.workflow_call.outputs`, definimos duas saídas para o próprio fluxo de trabalho, uma chamada `firstword` que mapeamos com `output1`, e uma chamada `secondword` que mapeamos com `output2`. diff --git a/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md b/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md index d7e4191802..66e7b815a8 100644 --- a/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md +++ b/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md @@ -365,9 +365,9 @@ Nome da etapa no {% data variables.product.prodname_dotcom %}. Seleciona uma ação para executar como parte de uma etapa no trabalho. A ação é uma unidade reutilizável de código. Você pode usar uma ação definida no mesmo repositório que o fluxo de trabalho, um repositório público ou em uma [imagem publicada de contêiner Docker](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. Se você não especificar uma versão, ela poderá interromper seus fluxos de trabalho ou causar um comportamento inesperado quando o proprietário da ação publicar uma atualização. +É altamente recomendável que você inclua a versão da ação que você está usando, especificando um ref do Git, SHA ou tag do Docker. Se você não especificar uma versão, ela poderá interromper seus fluxos de trabalho ou causar um comportamento inesperado quando o proprietário da ação publicar uma atualização. - Usar o commit SHA de uma versão de ação lançada é a maneira mais garantida de obter estabilidade e segurança. -- 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. +- Se a ação publicar as principais tags de versão, você deve esperar receber as correções críticas e correções de segurança mantendo a compatibilidade. Observe que esse comportamento fica a critério do autor da ação. - Usar o branch-padrão de uma ação pode ser conveniente, mas se alguém lançar uma nova versão principal com uma mudança significativa, seu fluxo de trabalho poderá ter problemas. Algumas ações requerem entradas que devem ser definidas com a palavra-chave [`with`](#jobsjob_idstepswith) (com). Revise o arquivo README da ação para determinar as entradas obrigatórias. @@ -1037,7 +1037,7 @@ Você pode usar caracteres especiais nos filtros de caminhos, branches e tags. - `[]` Corresponde a um caractere listado entre colchetes ou incluído nos intervalos. Os intervalos só podem incluir valores de `a-z`, `A-Z`, e `0-9`. Por exemplo, o intervalo`[0-9a-z]` corresponde a qualquer letra maiúscula ou minúscula. Por exemplo, `[CB]at` corresponde a `Cat` ou `Bat` e `[1-2]00` corresponde a `100` e `200`. - `!` No início de um padrão faz com que ele anule padrões positivos anteriores. Não tem nenhum significado especial caso não seja o primeiro caractere. -Os caracteres `*`, `[` e `!` são caracteres especiais em YAML. Se você iniciar um padrão com `*`, `[` ou `!`, você deverá colocá-lo entre aspas. 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. +Os caracteres `*`, `[` e `!` são caracteres especiais em YAML. Se você iniciar um padrão com `*`, `[` ou `!`, você deverá colocá-lo entre aspas. Além disso, se você usar uma [sequência de fluxo](https://yaml.org/spec/1.2.2/#flow-sequences) com um padrão que contém `[` e/ou `]`, o padrão deverá estar entre aspas. ```yaml # Valid diff --git a/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md index e3d4efd05a..b8513c2441 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## Sobre o {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Após configurar a conexão entre {% data variables.product.product_location %} ## Transmissão de dados para {% data variables.product.prodname_github_connect %} +When {% data variables.product.prodname_github_connect %} is enabled, a record on {% data variables.product.prodname_ghe_cloud %} stores information about the connection. If you enable individual features of {% data variables.product.prodname_github_connect %}, additional data is transmitted. + +{% note %} + +**Nota:** Nenhum repositório, problema ou pull request é transmitido de {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} por {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Data transmitted when {% data variables.product.prodname_github_connect %} is enabled + Ao habilitar {% data variables.product.prodname_github_connect %} ou funcionalidades específicas de{% data variables.product.prodname_github_connect %}, um registro em {% data variables.product.prodname_ghe_cloud %} irá armazenar as seguintes informações sobre a conexão. {% ifversion ghes %} - A parte da chave pública da sua licença do {% data variables.product.prodname_ghe_server %}; @@ -54,23 +65,19 @@ Ao habilitar {% data variables.product.prodname_github_connect %} ou funcionalid {% data variables.product.prodname_github_connect %} sincroniza os dados de conexão acima entre {% data variables.product.product_location %} e {% data variables.product.prodname_ghe_cloud %} semanalmente, a partir do dia e tempo aproximado que {% data variables.product.prodname_github_connect %} foi habilitado. -{% note %} - -**Nota:** Nenhum repositório, problema ou pull request é transmitido de {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} por {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Data transmitted by individual features of {% data variables.product.prodname_github_connect %} Os dados adicionais são transmitidos se você habilitar as funcionalidades individuais de {% data variables.product.prodname_github_connect %}. -| Funcionalidade | Dados | Para onde os dados são transmitidos? | Onde os dados são usados? | -| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} -| Sincronização automática da licença do usuário | O ID de usuário de cada {% data variables.product.product_name %} e endereço de e-mail | De {% data variables.product.product_name %} para {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} -| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidade | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} -| {% data variables.product.prodname_dependabot_updates %} | As dependências e metadados para o repositório de cada dependência

Se uma dependência for armazenada em um repositório privado em {% data variables.product.prodname_dotcom_the_website %}, os dados só serão transmitidos se {% data variables.product.prodname_dependabot %} estiver configurado e autorizado para acessar esse repositório. | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} -| Ações de {% data variables.product.prodname_dotcom_the_website %} | Nome da ação, ação (arquivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %}

De {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} -| {% data variables.product.prodname_server_statistics %} | Agrege métricas de uso de {% data variables.product.prodname_ghe_server %}
Para a lista de métricas agregadas coletadas, consulte "[dados coletados de {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | De {% data variables.product.product_name %} para {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} -| Pesquisa unificada | Termos de pesquisa, resultados de pesquisa | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %}

De {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} -| Contribuições unificadas | Contagens de contribuição | De {% data variables.product.product_name %} paraa {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} +| Funcionalidade | Dados | Para onde os dados são transmitidos? | Onde os dados são usados? | +| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} +| Sincronização automática da licença do usuário | O ID de usuário de cada {% data variables.product.product_name %} e endereço de e-mail | De {% data variables.product.product_name %} para {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} +| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidade | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} +| {% data variables.product.prodname_dependabot_updates %} | As dependências e metadados para o repositório de cada dependência

Se uma dependência for armazenada em um repositório privado em {% data variables.product.prodname_dotcom_the_website %}, os dados só serão transmitidos se {% data variables.product.prodname_dependabot %} estiver configurado e autorizado para acessar esse repositório. | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} +| Ações de {% data variables.product.prodname_dotcom_the_website %} | Nome da ação, ação (arquivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %}

De {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} +| {% data variables.product.prodname_server_statistics %} | Aggregate metrics about your usage of {% data variables.product.prodname_ghe_server %}. For the complete list of metrics, see "[About {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | De {% data variables.product.product_name %} para {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} +| Pesquisa unificada | Termos de pesquisa, resultados de pesquisa | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %}

De {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} +| Contribuições unificadas | Contagens de contribuição | De {% data variables.product.product_name %} paraa {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} ## Leia mais diff --git a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md index ff24568a52..c83b1356f5 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md +++ b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md @@ -673,7 +673,7 @@ Você pode adicionar o argumento opcional `--prune` para remover objetos inacess {% warning %} -**Warning**: Before using the `--prune` argument to remove unreachable Git objects, put {% data variables.product.product_location %} into maintenance mode, or ensure all repositories within the same repository network are locked. Para obter mais informações, consulte "[Habilitar e programar o modo de manutenção](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)". +**Aviso**: Antes de usar o argumento `--prune` para remover objetos do Git inacessíveis, coloque {% data variables.product.product_location %} em modo de manutenção ou garantir que todos os repositórios da mesma rede de repositório estejam bloqueados. Para obter mais informações, consulte "[Habilitar e programar o modo de manutenção](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)". {% endwarning %} diff --git a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 95b6229d4c..1e9bf643d6 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Adicionar endereços IP permitidos +{% 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 %} ## Permitindo acesso de {% data variables.product.prodname_github_apps %} @@ -44,6 +47,8 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Habilitar endereços IP permitidos +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Editar endereços IP permitidos +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificando se um endereço IP é permitido + +{% 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 %} ## Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md b/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md index 6a7861f137..f7558f5eca 100644 --- a/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md +++ b/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md @@ -20,7 +20,7 @@ shortTitle: Criar réplica HA ## Criar réplica de alta disponibilidade 1. Configure um novo appliance do {% data variables.product.prodname_ghe_server %} na plataforma desejada. O appliance réplica deve refletir as configurações de CPU, RAM e armazenamento do appliance primário. É recomendável instalar o appliance réplica em um ambiente independente. Hardware, software e componentes de rede subjacentes devem ser isolados dos do appliance primário. Se estiver em um provedor de nuvem, use uma região ou zona separada. Para obter mais informações, consulte [Configurar uma instância do {% data variables.product.prodname_ghe_server %}](/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. Para obter mais informações, consulte "[Portas de rede](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)". +1. Certifique-se de que o novo dispositivo possa se comunicar com todos os outros dispositivos neste ambiente de alta disponibilidade por meio das portas 122/TCP e 1194/UDP. Para obter mais informações, consulte "[Portas de rede](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)". 1. Em um navegador, vá até o novo endereço IP do appliance réplica e faça o upload da sua licença do {% data variables.product.prodname_enterprise %}. {% data reusables.enterprise_installation.replica-steps %} 1. Conecte-se ao endereço IP do appliance réplica usando SSH. diff --git a/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index 922a19d7ae..dbb66a79bb 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -82,7 +82,11 @@ Estas restrições são inaceitáveis para algumas empresas. Para determinar se ### Seus desenvolvedores dependem da colaboração fora da sua empresa? -{% data variables.product.prodname_managed_users_caps %} só pode contribuir para repositórios dda sua empresa. Se seus desenvolvedores precisarem colaborar em repositórios fora da sua empresa, mesmo em repositórios privados, para concluir o trabalho deles, {% data variables.product.prodname_emus %} pode não estar certo para a sua empresa e o SAML SSO pode ser uma solução melhor. +{% data variables.product.prodname_managed_users_caps %} só pode contribuir para repositórios dda sua empresa. If your developers must contribute to both repositories within and outside of your enterprise, including private repositories, {% data variables.product.prodname_emus %} may not be right for your enterprise. SAML SSO may be a better solution. + +Some companies maintain repositories within an existing enterprise using SAML SSO on {% data variables.product.product_location %}, and also create an {% data variables.product.prodname_emu_enterprise %}. Developers who contribute to repositories owned by both enterprises from a single workstation must switch between the accounts on {% data variables.product.product_location %} within a single browser, or use a different browser for each account. The developer may also need to customize the workstation's Git configuration to accommodate the two accounts. The complexity of this workflow can increase the risk of mistakenly leaking internal code to the public. + +If you decide to create an {% data variables.product.prodname_emu_enterprise %} but require that developers contribute to resources outside of the enterprise from a single workstation, you can provide support for switching between the accounts in a developer's local Git configuration. Para obter mais informações, consulte "[Sobre {% 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)." ### A sua empresa conta com colaboradores externos? diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 3db607a17f..750ebb5a94 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,8 +36,6 @@ Você pode conceder {% data variables.product.prodname_managed_users %} acesso e Os nomes de usuário do {% data variables.product.prodname_managed_users %} da empresa e as suas informações de perfil como, por exemplo, nomes de exibição e endereços de e-mail, são definidos por meio do seu IdP e não podem ser alterados pelos próprios usuários. Para obter mais informações, consulte "[Nomes de usuário e informações do perfil](#usernames-and-profile-information)". -{% data reusables.enterprise-accounts.emu-forks %} - Os proprietários de empresas podem auditar todas as ações de {% data variables.product.prodname_managed_users %}' em {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte "[Eventos de log de auditoria para a sua empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)". Para usar {% data variables.product.prodname_emus %}, você precisa de um tipo de conta corporativa separado com {% data variables.product.prodname_emus %} habilitado. Para obter mais informações sobre a criação desta conta, consulte "[Sobre empresas com usuários gerenciados](#about-enterprises-with-managed-users)". @@ -75,7 +73,8 @@ O {% data variables.product.prodname_managed_users_caps %} só pode contribuir p * {% data variables.product.prodname_managed_users_caps %} não pode criar gists ou comentários em gists. * {% data variables.product.prodname_managed_users_caps %} não pode instalar {% data variables.product.prodname_github_apps %} nas suas contas de usuário. * Outros usuários de {% data variables.product.prodname_dotcom %} não podem ver, mencionar ou convidar um {% data variables.product.prodname_managed_user %} para colaborar. -* {% data variables.product.prodname_managed_users_caps %} só pode criar repositórios privados e {% data variables.product.prodname_managed_users %} só pode convidar outros integrantes da empresa para colaborar nos seus próprios repositórios. +* You can choose whether {% data variables.product.prodname_managed_users %} are able to create repositories owned by their user accounts. Para obter mais informações, consulte "[Aplicar políticas de gerenciamento do repositório na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)". +* If you allow {% data variables.product.prodname_managed_users %} to create repositories owned by their user accounts, they can only own private repositories and can only invite other enterprise members to collaborate on their user-owned repositories. * {% data reusables.enterprise-accounts.emu-forks %} * Apenas repositórios privados e internos podem ser criados em organizações pertencentes a um {% data variables.product.prodname_emu_enterprise %}, dependendo das configurações de visibilidade da organização e do repositório corporativo. * {% data variables.product.prodname_managed_users_caps %} são limitados em seu uso de {% data variables.product.prodname_pages %}. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)". @@ -113,6 +112,8 @@ Antes que seus desenvolvedores possam usar {% data variables.product.prodname_gh 5. Uma vez configurados a autenticação e provisionamento, você pode começar a provisionar os integrantes e gerenciar as equipes. Para obter mais informações, consulte "[Gerenciar associações de equipe com grupos de provedor de identidade](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)". +If members of your enterprise must use one workstation to contribute to repositories on {% data variables.product.product_location %} from both a {% data variables.product.prodname_managed_user %} and a personal account, you can provide support. For more information, see "[Supporting developers with multiple user accounts on {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)." + ## Efetuar a autenticação um {% data variables.product.prodname_managed_user %} {% data variables.product.prodname_managed_users_caps %} deve efetuar a autenticação por meio de seu provedor de identidade. Para efetuar a autenticação, um {% data variables.product.prodname_managed_user %} pode acessar o seu portal de aplicativo do IdP ou usar a página de login no {% data variables.product.prodname_dotcom_the_website %}. @@ -132,3 +133,9 @@ Antes que seus desenvolvedores possam usar {% data variables.product.prodname_gh Um conflito pode ocorrer quando os usuários de provisionamento das partes únicas do identificador fornecido pelo IdP são removidos durante a normalização. Se você não puder provisionar um usuário devido a um conflito de nome de usuário, você deverá modificar o nome de usuário fornecido pelo seu IdP. Para obter mais informações, consulte "[Resolvendo conflitos de nome de usuário](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts). " O nome do perfil e endereço de email de um {% data variables.product.prodname_managed_user %} também é fornecido pelo IdP. {% data variables.product.prodname_managed_users_caps %} não pode alterar seu nome de perfil ou endereço de e-mail em {% data variables.product.prodname_dotcom %}, e o IdP só pode fornecer um único endereço de e-mail. + +## Supporting developers with multiple user accounts on {% data variables.product.product_location %} + +People on your team may need to contribute to resources on {% data variables.product.product_location %} that are outside of your {% data variables.product.prodname_emu_enterprise %}. For example, you may wish to maintain a separate enterprise for your company's open source projects. Because a {% data variables.product.prodname_managed_user %} cannot contribute to public resources, users will need to maintain a separate, personal account for this work. + +People who must contribute from two user accounts on {% data variables.product.product_location %} using one workstation can configure Git to simplify the process. For more information, see "[Managing multiple accounts](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index 66c1726cca..0e36ed8607 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ O suporte ao CAP é habilitado automaticamente para qualquer {% data variables.p Para obter mais informações sobre o uso do OIDC com {% data variables.product.prodname_emus %}, consulte "[Configurando o OIDC para usuários gerenciados corporativos](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)" e "[Migrando do SAML para o OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)." -## Sobre o uso do CAP com listas de permissão de IP +{% note %} -Recomendamos deasabilitar a lista de permissão da sua conta corporativa e confiar no CAP do seu IdP. Se você habilitar as listas de permissão do IP para sua empresa e também fizer uso do CAP do seu IdP, tanto a lista de permissões de IP quanto o CAP serão aplicados. Se alguma restrição rejeitar o endereço IP de um usuário, ocorrerá uma falha na solicitação. Para obter mais informações sobre a lista de permissão de IP, consulte "[Aplicando políticas de segurança na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)". +**Note:** If you use Conditional Access (CA) network location policies in your Azure AD tenant, do not use the IP allow list feature on {% data variables.product.prodname_dotcom_the_website %}, with your enterprise account or with any of the organizations owned by the enterprise. Using both is unsupported and can result in the wrong policy applying. For more information about IP allow lists, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." + +{% endnote %} ## Considerações para integrações e automações diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index e24e704e21..cc420db015 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -31,6 +31,7 @@ Se você for novo em {% data variables.product.prodname_emus %} e ainda não con {% endnote %} 1. Antes de iniciar a migração, inicie sessão no Azure e desabilite o provisionamento no aplicativo de {% data variables.product.prodname_emu_idp_application %} existente. +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. Efetue o login em {% data variables.product.prodname_dotcom_the_website %} como usuário de configuração da sua empresa com o nome de usuário **@SHORT-CODE_admin**. 1. Quando solicitado para continuar com o provedor de identidade, clique em **Usar um código de recuperação** e efetue o login usando um dos códigos de recuperação da empresa. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index 7c23f797f1..03521a2aa0 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -75,10 +75,12 @@ Os metadados de SP para a sua empresa em {% data variables.product.product_name Os seguintes atributos o SAML estão disponíveis para {% data variables.product.product_name %}.{% ifversion ghes %} Você pode alterar os nomes de atributo no console de gerenciamento, com exceção do atributo `administrador`. Para obter mais informações, consulte "[Acessando o console de gerenciamento](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)".{% endif %} -| Nome | Obrigatório? | Descrição | -|:--------------------- |:------------ |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `NameID` | Sim | Identificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. {% ifversion ghec %}Se você usa uma empresa com {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} irá normalizar o elemento `NameID` para usar como um nome de usuário, a menos que seja fornecida uma das declarações alternativas. Para obter mais informações, consulte "[Considerações de nome de usuário para autenticação externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)". | -| `SessionNotOnOrAfter` | Não | A data que {% data variables.product.product_name %} invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar {% ifversion ghec or ghae %}os recursos da sua empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Para obter mais informações, consulte "[Duração da sessão e fim do tempo](#session-duration-and-timeout)". | +| Nome | Obrigatório? | Descrição | +|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:------------ |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `NameID` | Sim | Identificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. | +| {% ifversion ghec %}Se você usa uma empresa com {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} irá normalizar o elemento `NameID` para usar como um nome de usuário, a menos que seja fornecida uma das declarações alternativas. Para obter mais informações, consulte "[Considerações de nome de usuário para autenticação externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication).

{% note %}**Observação:** é importante usar um identificador persistente e legível por humanos. O uso de um formato de identificador transitório como `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` resultará na revinculação de contas a cada acesso, o que pode ser prejudicial para a gestão de autorização.{% endnote %} | | | +| | | | +| `SessionNotOnOrAfter` | Não | A data que {% data variables.product.product_name %} invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar {% ifversion ghec or ghae %}os recursos da sua empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Para obter mais informações, consulte "[Duração da sessão e fim do tempo](#session-duration-and-timeout)". | {%- ifversion ghes or ghae %} | `administrator` | Nçao | Quando o valor for `verdadeiro`, {% data variables.product.product_name %} promoverá automaticamente o usuário para ser um {% ifversion ghes %}administrador de site{% elsif ghae %}proprietário empresarial{% endif %}. Definir esse atributo para qualquer coisa menos `verdadeiro` resultará em demonstração, desde que o valor não esteja em branco. Omitir este atributo ou deixar o valor em branco não irá alterar a função do usuário. | | `username` | Não | O nome de usuário para {% data variables.product.product_location %}. | {%- endif %} diff --git a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index 04f2b70214..1ef90d2220 100644 --- a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -77,12 +77,15 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Adicionar endereços IP permitidos +{% 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 %} ### Permitindo acesso de {% data variables.product.prodname_github_apps %} @@ -90,6 +93,8 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Habilitar endereços IP permitidos +{% 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 %} @@ -98,6 +103,8 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Editar endereços IP permitidos +{% 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 %} @@ -105,6 +112,18 @@ Você também pode configurar endereços IP permitidos para uma organização in {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Verificando se um endereço IP é permitido + +{% 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 %} ### Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 3807a22b51..5a7cf9c4af 100644 --- a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ Se um proprietário corporativo impedir que os integrantes criem certos tipos de {% endif %} -## Aplicar uma política de {% ifversion ghec or ghes or ghae %}base{% else %}permissões padrão{% endif %} do repositório +## Enforcing a policy for base repository permissions -Em todas as organizações pertencentes à sua empresa, você pode definir um {% ifversion ghec or ghes or ghae %}base{% else %}padrão{% endif %} nível de permissão de repositório (nenhum leitura, gravação ou administrador) para integrantes da organização, ou permitir que os proprietários administrem a configuração no nível da organização. +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. Em "{% ifversion ghec or ghes or ghae %}Base{% else %}Default{% endif %} permissões", revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. Em "{% ifversion ghec or ghes or ghae %}Base{% else %}Padrão{% endif %} permissões", use o menu suspenso e escolha uma política. - {% ifversion ghec or ghes or ghae %} - ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Em "Permissões básicas", use o menu suspenso e escolha uma política. ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## Aplicando uma política para a criação do repositório -Em todas as organizações pertencentes à sua empresa, é possível permitir que os integrantes criem repositórios, restringir a criação de repositórios a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. Caso você permita que os integrantes criem repositórios, escolha se eles poderão criar qualquer combinação de repositórios internos, privados e públicos. O {% data reusables.repositories.internal-repo-default %} Para obter mais informações sobre repositórios internos, consulte "[Criar um repositório interno](/articles/creating-an-internal-repository)". +Em todas as organizações pertencentes à sua empresa, é possível permitir que os integrantes criem repositórios, restringir a criação de repositórios a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. + +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 %} + +O {% data reusables.repositories.internal-repo-default %} Para obter mais informações sobre repositórios internos, consulte "[Criar um repositório interno](/articles/creating-an-internal-repository)". {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ Em todas as organizações pertencentes à sua empresa, é possível permitir qu {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. Em "Repository creation" (Criação de repositório), revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. Em "Repository creation" (Criação de repositórios), use o menu suspenso e escolha uma política. - - ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Optionally, {% ifversion ghec %}if your enterprise uses {% data variables.product.prodname_emus %} and you want {% endif %}to prevent enterprise members from creating repositories owned by their user accounts, select **Block the creation of user namespace repositories**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## Aplicar uma política para a bifurcação de repositórios internos ou privados Em todas as organizações pertencentes à sua empresa, é possível permitir que pessoas com acesso a um repositório privado o bifurquem, nunca permitir a bifurcação de repositórios privados ou permitir que os proprietários administrem a configuração no nível da organização. +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Note:** If {% ifversion ghec %}your enterprise uses {% data variables.product.prodname_emus %} and {% endif %}your "Repository creation" policy prevents enterprise members from creating repositories owned by their user accounts, members will not be allowed to fork a repository in their user accounts, regardless of your "Repository forking" policy. + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. Em "Bifurcação de repositório", revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. Em "Repository forking" (Bifurcação de repositórios), use o menu suspenso e escolha uma política. - ![Menu suspenso com opções de políticas de bifurcação de repositórios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![Menu suspenso com opções de políticas de bifurcação de repositórios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. Se a bifurcação estiver habilitada, você poderá especificar onde os usuários podem fazer a bifurcação de repositórios. Revise as informações sobre como alterar a configuração e escolha uma política. - ![Captura de tela que mostra a lista de opções de política de bifurcação de repositório](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![Captura de tela que mostra a lista de opções de política de bifurcação de repositório](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## Aplicando uma política para convidar{% ifversion ghec %} colaboradores{% endif %} externos para repositórios @@ -140,8 +143,6 @@ Em todas as organizações pertencentes à sua empresa, você pode permitir que ![Menu suspenso com opções de política de convites](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## Aplicando uma política para o nome padrão do branch Em todas as organizações pertencentes à sua empresa, você pode definir o nome padrão da branch para quaisquer novos repositórios que os integrantes criarem. Você pode optar por aplicar esse nome do branch-padrão em todas as organizações ou permitir que as organizações individuais definam um nome diferente. @@ -152,8 +153,6 @@ Em todas as organizações pertencentes à sua empresa, você pode definir o nom 4. Opcionalmente, para aplicar o nome do branch-padrão para todas as organizações da empresa, selecione **Aplicar em toda a empresa**. ![Caixa de aplicação](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. Clique em **Atualizar**. ![Botão de atualizar](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## Aplicando uma política de alterações à visibilidade do repositório Em todas as organizações pertencentes à sua empresa, é possível permitir que integrantes com acesso administrativo alterem a visibilidade de um repositório, restringir alterações na visibilidade do repositório a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. Quando você impede que os integrantes alterem a visibilidade do repositório, somente os proprietários corporativos podem alterar a visibilidade de um repositório. @@ -163,9 +162,8 @@ Se um proprietário corporativo tiver restringido a criação de repositório ap {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. Em "Repository visibility change" (Alteração da visibilidade do repositório), revise as informações sobre a alteração da configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. Em "Repository visibility change" (Alteração da visibilidade do repositório), revise as informações sobre a alteração da configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Em "Repository visibility change" (Mudança de visibilidade do repositório), use o menu suspenso e escolha uma política. ![Menu suspenso com opções de política de visibilidade do repositório](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## Aplicando uma política de exclusão e transferência de repositório diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md index bd37fe1258..622177cedc 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: Sobre o SSH -intro: 'Usando o protocolo SSH, você pode se conectar a servidores e serviços remotos e se autenticar neles. Com chaves SSH, você pode conectar-se a {% data variables.product.product_name %} sem inserir seu nome de usuário e token de acesso pessoal em cada visita.' +intro: 'Usando o protocolo SSH, você pode se conectar a servidores e serviços remotos e se autenticar neles. Com chaves SSH, você pode se conectar a {% data variables.product.product_name %} sem fornecer seu nome de usuário e token de acesso pessoal em cada acesso.{% ifversion ssh-commit-verification %} Você também pode usar uma chave SSH para assinar commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} Para obter mais informações sobre SSH, consulte [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) na Wikipédia. -Ao configurar o SSH, você deverá gerar uma nova chave SSH privada e adicioná-la ao agente SSH. Você também deve adicionar a chave SSH pública à sua conta no {% data variables.product.product_name %} antes de usar a chave para efetuar a autenticação. Para mais informações consulte "[Gerar uma nova chave SSH e adicioná-la ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" e "[Adicionar uma nova chave SSH à sua conta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". +Ao configurar o SSH, você deverá gerar uma nova chave SSH privada e adicioná-la ao agente SSH. Você também deve adicionar a chave SSH pública à sua conta em {% data variables.product.product_name %} antes de usar a chave para efetuar a autenticação em {% ifversion ssh-commit-verification %} ou assinar commits{% endif %}. Para obter mais informações, consulte "[Gerando uma nova chave SSH e adicionando-a ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} e{% endif %} "[Adicionando uma nova chave SSH à sua conta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" e "[Sobre a verificação de assinatura do commit](/articles/about-commit-signature-verification){% endif %}." Você pode proteger ainda mais sua chave SSH usando uma chave de segurança de hardware, o que exige que a chave de segurança física do hardware seja conectada ao seu computador quando o par de chaves é usado para efetuar a autenticação com SSH. Você também pode proteger sua chave SSH, adicionando sua chave ao agente do ssh-agent e usando uma frase secreta. Para obter mais informações, consulte "[Trabalhar com frases secretas da chave SSH](/github/authenticating-to-github/working-with-ssh-key-passphrases)". @@ -33,7 +33,6 @@ As organizações que usam {% data variables.product.prodname_ghe_cloud %} podem {% else ghec or ghes or ghae %} Se você for integrante de uma organização que fornece certificados SSH, você poderá usar seu certificado para acessar os repositórios da organização sem adicionar o certificado à sua conta em {% data variables.product.product_name %}. Você não pode usar seu certificado para acessar as bifurcações dos repositórios da organização, se as bifurcações pertencerem à sua conta pessoal. Para obter mais informações, consulte "[Sobre autoridades certificadas de SSH](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)". {% endif %} - ## Leia mais - "[Solucionar problemas de SSH](/articles/troubleshooting-ssh)" diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index d0582bf8b8..8d21dfd87b 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: Adicionar uma nova chave SSH {% data reusables.ssh.about-ssh %} Para obter mais informações, consulte "[Sobre SSH](/authentication/connecting-to-github-with-ssh/about-ssh)". +{% ifversion ssh-commit-verification %}Você também pode usar SSH para assinar commits e etiquetas. Para obter mais informações sobre a assinatura de commit, consulte "[Sobre a verificação de assinatura de commit](/articles/about-commit-signature-verification)".{% endif %} + Após gerar um par de chaves SSH, você deve adicionar a chave pública em {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} para habilitar o acesso SSH para a sua conta. ## Pré-requisitos @@ -30,111 +32,45 @@ Antes de adicionar uma nova chave SSH à sua conta em {% ifversion ghae %}{% dat ## Adicionando uma nova chave SSH à sua conta -Depois de adicionar uma nova chave SSH à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, você poderá reconfigurar quaisquer repositórios locais para usar SSH. Para obter mais informações, consulte "[Alternar URLs remotos de HTTPS para SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)". +Depois de adicionar uma nova autenticação da chave SSH à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, você poderá reconfigurar quaisquer repositórios locais para usar SSH. Para obter mais informações, consulte "[Alternar URLs remotos de HTTPS para SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)". {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Dica:** se `pbcopy` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) +4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). +{% ifversion ssh-commit-verification %} + ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} + ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) +{% endif %} +5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se você estiver usando um laptop pessoal, você pode chamar essa chave de "laptop pessoal". +{% ifversion ssh-commit-verification %} +6. Selecione o tipo de chave, autenticação ou assinatura. Para obter mais informações sobre a assinatura de commit, consulte "[Sobre a verificação de assinatura de commit](/articles/about-commit-signature-verification)". +{% endif %} +7. Cole sua chave no campo "Key" (Chave). +{% ifversion ssh-commit-verification %} + ![O campo de chave](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} + ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) +{% endif %} +8. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Dica:** se `clip` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **Dica:** Como alternativa, você pode localizar a pasta oculta de `.ssh`, abrir o arquivo no seu editor de texto favorito e copiá-lo na sua área de transferência. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} Antes de poder usar o {% data variables.product.prodname_cli %} para adicionar uma chave SSH à sua conta, você deve efetuar a autenticação no {% data variables.product.prodname_cli %}. Para obter mais informações, consulte [`login login gh`](https://cli.github.com/manual/gh_auth_login) na documentação do {% data variables.product.prodname_cli %}. -Para adicionar uma chave SSH à sua conta do GitHub, use o subcomando `ssh-key add`, especificando a sua chave pública. +{% ifversion ssh-commit-verification %}, atualmente você só pode usar {% data variables.product.prodname_cli %} para adicionar chaves de autenticação SSH, você não pode adicionar chaves de assinatura SSH.{% endif %} + +Para adicionar uma chave de autenticação SSH à sua conta do GitHub, use o subcomando `ssh-key add`, especificando sua chave pública. ```shell gh ssh-key add key-file diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index 300d985ccf..3a653af08d 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- title: Sobre a verificação de assinatura de commit -intro: 'Ao usar GPG ou S/MIME, você pode assinar tags e commits localmente. Essas tags ou commits estão marcadas como verificadas em {% data variables.product.product_name %} para que outras pessoas possam estar confiantes de que as alterações vêm de uma fonte de confiança.' +intro: 'Ao usar o GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME, você pode assinar tags e commits localmente. Essas tags ou commits estão marcadas como verificadas em {% data variables.product.product_name %} para que outras pessoas possam estar confiantes de que as alterações vêm de uma fonte de confiança.' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -20,16 +20,24 @@ shortTitle: Fazer commit da verificação de assinatura ## Sobre a verificação de assinatura de commit -Você pode assinar commits e tags localmente para dar a outras pessoas confiança sobre a origem de uma alteração que você fez. Se um commit ou tag tiver uma assinatura GPG ou S/MIME que seja verificável criptograficamente, o GitHub marcará o commit ou a tag {% ifversion fpt or ghec %}"Verificado" ou "Verificado parcialmente."{% else %}"Verificado."{% endif %} +Você pode assinar commits e tags localmente para dar a outras pessoas confiança sobre a origem de uma alteração que você fez. 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 %} ![Commit verificado](/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 %} -Os commits e tags têm o seguinte status de verificação, dependendo se você habilitou o modo vigilante. Por padrão, o modo vigilante não está habilitado. Para obter informações sobre como habilitar o modo vigilante, consulte "[Exibir status de verificação para todos os seus commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)". +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 %} -A assinatura de commits difere encerrar a sessão em um commit. Para obter mais informações sobre a encerrar sessão nos commits, consulte "[Gerenciando a política de encerramento de sessão do commit do seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository). " +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)." ### Status padrão @@ -42,34 +50,33 @@ A assinatura de commits difere encerrar a sessão em um commit. Para obter mais ### Verificação de assinatura para rebase e merge {% data reusables.pull_requests.rebase_and_merge_verification %} -Para obter mais informações, consulte "[Fazendo rebase e merge dos seus commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." +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)." ### Status com modo vigilante habilitado {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -Se um commit ou tag tiver uma assinatura que não pode ser verificada, {% data variables.product.product_name %} marca o commit ou a tag "não verificada". {% endif %} -Os administradores do repositório podem impor a assinatura de commit obrigatória em um branch para bloquear todos os commits que não estejam assinados e verificados. Para obter mais informações, consulte "[Sobre branches protegidos](/github/administering-a-repository/about-protected-branches#require-signed-commits)." + +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 %}Se um administrador do site tiver habilitado a assinatura de commit da web, {% data variables.product.product_name %} usará automaticamente o GPG para assinar os commits que você criar usando a interface da web. Os commits assinados por {% data variables.product.product_name %} terão um status verificado. Você pode verificar a assinatura localmente usando a chave pública disponível em `https://HOSTNAME/web-flow.gpg`. Para obter mais informações, consulte "[Configurando a assinatura de commit da web](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing). " -{% else %}{% data variables.product.prodname_dotcom %} usará automaticamente o GPG para assinar os commits que você criar usando a interface da web. Os commits assinados por {% data variables.product.prodname_dotcom %} terão um status verificado. É possível verificar a assinatura localmente usando a chave pública disponível em https://github.com/web-flow.gpg. A impressão digital completa da chave é `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. +{% 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. Os commits assinados por {% data variables.product.product_name %} terão um status verificado. 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`. -Opcionalmente, você pode escolher que {% data variables.product.prodname_dotcom %} assine os commits que você fizer em {% data variables.product.prodname_github_codespaces %}. Para obter mais informações sobre como habilitar a verificação do GPG para os seus codespaces, consulte "[Gerenciando a verificação do GPG para {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} ## Verificação da assinatura de commit GPG -É possível usar GPG para assinar commits com uma chave GPG que você mesmo gera. +You can use GPG to sign commits with a GPG key that you generate yourself. -{% data variables.product.product_name %} usa bibliotecas OpenPGP para confirmar que seus commits e tags assinados localmente são verificáveis criptograficamente com base em uma chave pública que você adicionou à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. +{% 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.product.product_location %}{% endif %}. -Para assinar commits usando GPG e para que esses commits sejam verificados no {% data variables.product.product_name %}, siga estas etapas: +To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps: 1. [Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys) 2. [Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key) @@ -78,28 +85,47 @@ Para assinar commits usando GPG e para que esses commits sejam verificados no {% 5. [Assinar commits](/articles/signing-commits) 6. [Assinar tags](/articles/signing-tags) -## Verificação da assinatura de commit S/MIME +{% ifversion ssh-commit-verification %} +## SSH commit signature verification -Você pode usar S/MIME para assinar commits com uma chave X.509 emitida pela organização. +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. -O {% data variables.product.product_name %} usa [o pacote Debian ca-certificates](https://packages.debian.org/bullseye/ca-certificates), a mesma loja confiável usada pelos navegadores Mozilla, para confirmar se seus commits e tags localmente assinados são criptograficamente verificáveis em uma chave pública em um certificado raiz confiável. +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [Informar o Git sobre a chave de assinatura](/articles/telling-git-about-your-signing-key) +5. [Assinar commits](/articles/signing-commits) +6. [Assinar 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 %} -Para assinar commits usando S/MIME e para que esses commits sejam verificados no {% data variables.product.product_name %}, siga estas etapas: +To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps: 1. [Informar o Git sobre a chave de assinatura](/articles/telling-git-about-your-signing-key) 2. [Assinar commits](/articles/signing-commits) 3. [Assinar tags](/articles/signing-tags) -Não é preciso fazer upload da chave pública no {% data variables.product.product_name %}. +You don't need to upload your public key to {% data variables.product.product_name %}. {% ifversion fpt or ghec %} -## Verificação de assinatura para bots +## Signature verification for bots -As organizações e {% data variables.product.prodname_github_apps %} que exigem a assinatura de commit podem usar bots para assinar commits. Se um commit ou uma tag tiver uma assinatura de bot que possa ser verificada de maneira criptográfica, o {% data variables.product.product_name %} marcará o commit ou tag como verificado. +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. -A verificação de assinatura para bots somente funcionará se a solicitação for verificada e autenticada como o {% data variables.product.prodname_github_app %} ou bot e se não tiver informações de autor personalizadas, informações de committer personalizadas e nenhuma informação de assinatura personalizada, como API de commits. +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 %} ## Leia mais diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 118c195d3a..b954898815 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: Ao trabalhar localmente no seu computador, o Git permite que você defina o autor das suas alterações e a identidade do autor do autor do autor do committer. Isso torna potencialmente difícil para outras pessoas estarem confiantes de que os commits e tags que você cria foram realmente criados por você. Para ajudar a resolver esse problema, você pode assinar seus commits e tags. Para obter mais informações, consulte "[Assinar commits](/github/authenticating-to-github/signing-commits)" e "[Assinar tags](/github/authenticating-to-github/signing-tags)". {% data variables.product.prodname_dotcom %} marca commits e tags assinadas com um status de verificação. -Por padrão, os commits e tags são marcados como "Verificados" se forem assinadas com uma chave GPG ou S/MIME que foi verificada com sucesso. Se um commit ou tag tiver uma assinatura que não pode ser verificada por {% data variables.product.prodname_dotcom %}, nós marcaremos o commit ou a tag como "não verificado". Em todos os outros casos, não se exibe nenhum status de verificação. +Por padrão os commits e tags são marcados como "Verificados" se forem assinados com um GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou chave S/MIME que foi verificada com sucesso. Se um commit ou tag tiver uma assinatura que não pode ser verificada por {% data variables.product.prodname_dotcom %}, nós marcaremos o commit ou a tag como "não verificado". Em todos os outros casos, não se exibe nenhum status de verificação. No entanto, você pode dar a outros usuários maior confiança na identidade atribuída aos seus commits e tags, habilitando o modo vigilante nas configurações do seu {% data variables.product.prodname_dotcom %} Com o modo vigilante habilitado, todos os seus commits e tags são marcados com um de três status de verificação. diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md index 9da2d2a911..b27a93b90e 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: Gerenciar a verificação de assinatura de commit -intro: 'Você pode assinar seu trabalho localmente usando GPG ou S/MIME. O {% data variables.product.product_name %} verificará essas assinaturas, assim as pessoas saberão que seus commits tem origem em uma fonte confiável.{% ifversion fpt %} O {% data variables.product.product_name %} assinará automaticamente os commits que você fez com a interface web do {% data variables.product.product_name %}.{% endif %}' +intro: '{% data variables.product.product_name %} verificará as assinaturas do GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou do S/MIME para que outras pessoas saibam que seus commits vêm de uma fonte confiável.{% ifversion fpt %} {% data variables.product.product_name %} assinará automaticamente os commits que você criar usando a interface web de {% data variables.product.product_name %}.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md index e0ec52ed19..ff012071cc 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: Assinar commits -intro: Você pode assinar commits localmente usando GPG ou S/MIME. +intro: 'Você pode assinar commits localmente usando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ Se você tiver várias chaves ou estiver tentando assinar commits ou tags com um ## Leia mais -* "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -* "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -* "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" * "[Avisar o Git sobre sua chave de assinatura](/articles/telling-git-about-your-signing-key)" -* "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" * "[Assinar tags](/articles/signing-tags)" diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md index da4d6b8fc4..df242be566 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: Assinar tags -intro: Você pode assinar as tags localmente usando GPG ou S/MIME. +intro: 'Você pode assinar as tags localmente usando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## Leia mais - "[Exibir tags do seu repositório](/articles/viewing-your-repositorys-tags)" -- "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -- "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" - "[Avisar o Git sobre sua chave de assinatura](/articles/telling-git-about-your-signing-key)" - "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" - "[Assinar commits](/articles/signing-commits)" diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index a3f04d5f61..2b2ced2515 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: Informar ao Git sobre a chave de assinatura -intro: 'Para assinar commits localmente, você precisa informar ao Git que há uma chave GPG ou X.509 que você gostaria de usar.' +intro: 'Para assinar os commits localmente, você deve informar ao Git que há uma chave GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou X.509 que você gostaria de usar.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Informando ao Git sobre sua chave SSH + +Você pode usar uma chave SSH existente para assinar commits e tags ou gerar uma nova especificamente para fazer o login. Para obter mais informações, consulte "[Gerar uma nova chave SSH e adicioná-la ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)". + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## Leia mais -- "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -- "[Usar um endereço de e-mail verificado na chave GPG](/articles/using-a-verified-email-address-in-your-gpg-key)" -- "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" -- "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" +- "[Adicionando uma nova chave SSH à sua conta do GitHub](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". - "[Assinar commits](/articles/signing-commits)" - "[Assinar tags](/articles/signing-tags)" diff --git a/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index c303e793d3..cfadee7cef 100644 --- a/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: Verificar status da verificação 1. No {% data variables.product.product_name %}, navegue até sua pull request. {% data reusables.repositories.review-pr-commits %} 3. Ao lado do hash do commit abreviado do seu commit, há uma caixa que mostra se a assinatura do seu commit foi verificada{% ifversion fpt or ghec %}, parcialmente verificada{% endif %} ou não verificada. ![Commit assinado](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. Para ver informações mais detalhadas sobre a assinatura de commit, clique em **Verificado**{% ifversion fpt or ghec %}, **Parcialmente verificado**,{% endif %} ou **Não verificado**. ![Commit assinado verificado](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. Para ver informações mais detalhadas sobre a assinatura de commit, clique em **Verificado**{% ifversion fpt or ghec %}, **Parcialmente verificado**,{% endif %} ou **Não verificado**. Os commits do GPG assinados mostrarão o ID da chave que foi usada. ![Commit assinado do GPG verificado](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + Os commits assinados do SSH mostrarão a assinatura da chave pública usada. ![Commit assinado do SSH verificado](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## Confirmar o status de verificação da assinatura da tag diff --git a/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index 86db0fd86c..9b43c4f136 100644 --- a/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -50,9 +50,9 @@ Todos os dados transferidos, quando acionados por {% data variables.product.prod O uso do armazenamento é compartilhado com artefatos de construção produzidos por {% data variables.product.prodname_actions %} para repositórios de sua conta. Para obter mais informações, consulte "[Sobre a cobrança do {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." -O {% data variables.product.prodname_dotcom %} cobra o uso da conta que possui o repositório onde o pacote é publicado. Se o uso da sua conta ultrapassar esses limites e você definir um limite de gastos acima de US$ 0, você pagará US$ 25por GB de armazenamento por dia e US$ 0,50 por GB de transferência de dados. +O {% data variables.product.prodname_dotcom %} cobra o uso da conta que possui o repositório onde o pacote é publicado. Se o uso da sua conta ultrapassar esses limites e você definir um limite de gastos acima de US$ 0, você pagará US$ 0,008 por GB de armazenamento por dia e US$ 0,50 por GB de transferência de dados. -Por exemplo, se sua organização usa {% data variables.product.prodname_team %}, permite gastos ilimitados, usa 150GB de armazenamento, e possui 50GB de transferência de dados durante um mês, a organização teria excessos de 148GB para armazenamento e 40GB para transferência de dados para esse mês. O excesso de armazenamento custaria US$ 25 por GB por dia ou US$ 37. O excesso para transferência de dados custaria US$ 0,50 ou US$ 20 por GB. +Por exemplo, se sua organização usa {% data variables.product.prodname_team %}, permite gastos ilimitados, usa 150GB de armazenamento, e possui 50GB de transferência de dados durante um mês, a organização teria excessos de 148GB para armazenamento e 40GB para transferência de dados para esse mês. A sobrecarga de armazenamento custa US$ 0,008 por GB por dia ou, aproximadamente, US$ 7 dólares por mês de 31 dias. O excesso para transferência de dados custaria US$ 0,50 ou US$ 20 por GB. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index aa2e73b1d1..b4bfdc45f4 100644 --- a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ Se você estiver configurando {% data variables.product.prodname_code_scanning % Você deve executar {% data variables.product.prodname_codeql %} dentro do contêiner no qual você constrói seu código. Isso se aplica se você estiver usando o {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, o {% data variables.product.prodname_codeql_runner %},{% endif %} ou {% data variables.product.prodname_actions %}. Para o {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %}ou o {% data variables.product.prodname_codeql_runner %}{% endif %}, consulte "[Instalando {% data variables.product.prodname_codeql_cli %} no seu sistema de 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 %} or "[Executando {% data variables.product.prodname_codeql_runner %} no seu sistema de CI](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"{% endif %} para obter mais informações. Se estiver usando {% data variables.product.prodname_actions %}, configure seu fluxo de trabalho para executar todas as ações no mesmo contêiner. Para obter mais informações, consulte "[Exemplo de fluxo de trabalho](#example-workflow)". +{% note %} + +**Observação:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## Dependências Você pode ter dificuldade para executar {% data variables.product.prodname_code_scanning %} se o contêiner que você está usando estiver com certas dependências ausentes (por exemplo, o Git deve ser instalado e adicionado à variável PATH). Se você encontrar problemas de dependência, revise a lista de software normalmente incluída nas imagens do executor de {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte os arquivos de `readme` específicos da versão nesses locais: diff --git a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md index 48561fe8e6..8a4c941db3 100644 --- a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -40,24 +40,24 @@ A aba de {% data variables.product.prodname_dependabot_alerts %} do seu reposit Cada alerta de {% data variables.product.prodname_dependabot %} tem um identificador único de número e a aba de {% data variables.product.prodname_dependabot_alerts %} lista um alerta para cada vulnerabilidade detectada. O legado de {% data variables.product.prodname_dependabot_alerts %} agrupou as vulnerabilidades por dependência e gerou um único alerta por dependência. Se você acessar um alerta de legado {% data variables.product.prodname_dependabot %}, você será redirecionado para uma aba de {% data variables.product.prodname_dependabot_alerts %} filtrada para esse pacote. {% endif %} {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5638 %} -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. +Você pode filtrar e classificar {% data variables.product.prodname_dependabot_alerts %} usando uma série de filtros e opções de classificação disponíveis na interface do usuário. Para obter mais informações, consulte "[Priorizando {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)" abaixo. -## Prioritizing {% data variables.product.prodname_dependabot_alerts %} +## Priorizando {% 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. Os alertas são classificados com base no seu impacto potencial, atuabilidade e relevância. O nosso cálculo de priorização está em melhoria constante e inclui fatores como pontuação do CVSS, âmbito de dependência, e se são encontradas chamadas de função vulneráveis para o alerta. +{% data variables.product.company_short %} ajuda você a priorizar a correção de {% data variables.product.prodname_dependabot_alerts %}. {% ifversion dependabot-most-important-sort-option %} Por padrão, {% data variables.product.prodname_dependabot_alerts %} são ordenados por importância. A ordenação "mais importante" ajuda você a priorizar na qual {% data variables.product.prodname_dependabot_alerts %} deve se concentrar primeiro. Os alertas são classificados com base no seu impacto potencial, atuabilidade e relevância. O nosso cálculo de priorização está em melhoria constante e inclui fatores como pontuação do CVSS, âmbito de dependência, e se são encontradas chamadas de função vulneráveis para o alerta. ![Captura de tela da classificação suspensa com a classificação "mais importante"](/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. +Além dos filtros disponíveis na barra de pesquisa, você pode ordenar e filtrar {% data variables.product.prodname_dependabot_alerts %} usando os menus suspensos na parte superior da lista de alertas. A barra de pesquisa também permite a pesquisa por texto completo de alertas e consultorias de segurança relacionados. Você pode pesquisar parte de uma consultoria de segurança ou uma descrição para devolver os alertas no seu repositório que estejam relacionados a essa consultoria de segurança. 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 %} ![Captura de tela dos menus filtro e ordenação na aba de {% data variables.product.prodname_dependabot_alerts %}](/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 %} +Você pode selecionar um filtro em um menu suspenso na parte superior da lista e, em seguida, clicar no filtro que gostaria de aplicar. ![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 %} ## Ecossistemas e manifestos compatíveis com o escopo de dependência @@ -110,7 +110,7 @@ Para obter mais informações, consulte "[Revisando e corrigindo alertas](#revie {% 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. Você também pode digitar filtros na barra de pesquisa. For more information about filtering and sorting alerts, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)." +1. Opcionalmente, para filtrar alertas, selecione um filtro no menu suspenso e, em seguida, clique no filtro que deseja aplicar. Você também pode digitar filtros na barra de pesquisa. Para obter mais informações sobre filtragem e classificação dos alertas, consulte "[Prioritizando {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)". {%- ifversion dependabot-bulk-alerts %} ![Captura de tela dos menus filtro e ordenação na aba de {% data variables.product.prodname_dependabot_alerts %}](/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 %} @@ -164,9 +164,9 @@ Se você agendar um extenso trabalho para atualizar uma dependência ou decidir 1. Ver detalhes de um alerta. Para obter mais informações, consulte "[Visualizando dependências vulneráveis](#viewing-dependabot-alerts)" (acima). 1. Selecione o menu suspenso "Ignorar" e clique em um motivo para ignorar o alerta.{% ifversion reopen-dependabot-alerts %} Alertas não descartados podem ser reabertos posteriormente.{% 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**. +{% ifversion dependabot-alerts-dismissal-comment %}1. Opcionalmente, adicione um comentário de dispensa. O comentário de dispensa será adicionado à linha do tempo de alerta e poderá ser usado como justificativa durante a auditoria e a apresentação de relatórios. Você pode recuperar ou definir um comentário usando a API do GraphQL. O comentário está contido no campo `dismissComment` Para obter mais informações, consulte "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" na documentação da API do GraphQL. + ![Captura de tela que mostra como ignorar um alerta por meio do menu suspenso "ignorar" com a opção de adicionar um comentário de dispensa](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) +1. Clique **Ignorar alerta**. {% else %} ![Escolher o motivo para ignorar o alerta a partir do menu suspenso "Ignorar"down](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png){% endif %} {% ifversion dependabot-bulk-alerts %} @@ -185,7 +185,7 @@ Se você agendar um extenso trabalho para atualizar uma dependência ou decidir ## Visualizando e atualizando alertas fechados -You can view all open alerts, and you can reopen alerts that have been previously dismissed. Os alertas fechados que já foram corrigidos não podem ser reabertos. +Você pode visualizar todos os alertas abertos e pode reabrir os alertas que foram ignorados anteriormente. Os alertas fechados que já foram corrigidos não podem ser reabertos. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} diff --git a/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md b/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index e7449ab8d9..5efb3d4ac3 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,8 +60,20 @@ Os proprietários da organização, gerentes de segurança e administradores de Até cinco segredos detectados serão exibidos por vez na linha de comando. Se um segredo específico já foi detectado no repositório e um alerta já existe, {% data variables.product.prodname_dotcom %} não bloqueará esse segredo. +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será exibido quando um push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos da organização como, por exemplo, orientações sobre como usar um cofre de segredos recomendado ou como entrar em contato em caso de perguntas relacionadas ao segredo bloqueado. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![Captura de tela que mostra que um push está bloqueado quando um usuário tenta fazer push de um segredo para um repositório](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + ![Captura de tela que mostra que um push está bloqueado quando um usuário tenta fazer push de um segredo para um repositório](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) +{% endif %} + {% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado pela proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)." Se você confirmar que um segredo é real e pretender corrigi-lo mais tarde, você deverá procurar remediar o segredo o mais rápido possível. Por exemplo, você pode revogar o segredo e remover o segredo do histórico de commit do repositório. Os verdadeiros segredos que foram expostos devem ser revogados para evitar o acesso não autorizado. Você pode considerar primeiro girar o segredo antes de revogá-lo. Para obter mais informações, consulte "[Removendo dados confidenciais de um repositório](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". @@ -88,13 +100,21 @@ Se {% data variables.product.prodname_dotcom %} bloquear um segredo que você ac {% data variables.product.prodname_dotcom %} só exibirá um segredo detectado por vez na interface do usuário. Se um segredo específico já foi detectado no repositório e um alerta já existe, {% data variables.product.prodname_dotcom %} não bloqueará esse segredo. +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será exibido quando um push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos para sua organização. Por exemplo, o link personalizado pode apontar para um arquivo README com informações sobre o cofre secreto da organização, para quais equipes e indivíduos escalar perguntas ou a política aprovada pela organização para trabalhar com segredos e reescrever o histórico de commits. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + Você pode remover o segredo do arquivo usando a interface de usuário da web. Depois de remover o segredo, o banner no topo da página mudará e dirá que agora você pode fazeer commit das suas alterações. ![Captura de tela que mostra o commit na interface de usuário da web, permitido após correção do segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) ### Ignorando a proteção de push para um segredo -{% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado pela proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." +{% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado por proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." Se você confirmar que um segredo é real e pretender corrigi-lo mais tarde, você deverá procurar remediar o segredo o mais rápido possível. Para obter mais informações, consulte "[Removendo dados confidenciais de um repositório](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". diff --git a/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index a71b0a2a63..da843d5f20 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -26,6 +26,14 @@ O recurso de proteção de push do {% data variables.product.prodname_secret_sca {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será incluído na mensagem de {% data variables.product.product_name %} quando seu push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos para sua organização e suas políticas. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## Resolvendo um push bloqueado na linha de comando {% data reusables.secret-scanning.push-protection-command-line-choice %} @@ -51,6 +59,6 @@ Você também pode remover o segredo se o segredo aparecer em um commit anterior {% 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. Para obter mais informações sobre como contornar a proteção de push da interface de usuário da web, consulte "[Protegendo pushes com a digitalização de segredo](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)". +Para resolver um commit bloqueado na interface do usuário web, você deverá remover o segredo do arquivo, ou use o menu suspenso **Proteção de Bypass** para permitir o segredo. Para obter mais informações sobre como contornar a proteção de push da interface de usuário da web, consulte "[Protegendo pushes com a digitalização de segredo](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)". Se você confirmar um segredo é real, você deverá remover o segredo do arquivo. Depois de remover o segredo, o banner no topo da página mudará e dirá que agora você pode fazeer commit das suas alterações. diff --git a/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index c04158c396..3272984eab 100644 --- a/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -88,14 +88,12 @@ Você pode adicionar mais script, preferências e arquivos de configuração ao Se o seu código não consegue pegar as configurações nos dotfiles, consulte "[Solução de problemas para {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)". -## Outras configurações disponíveis - Você também pode personalizar {% data variables.product.prodname_codespaces %} usando [as configurações adicionais de {% data variables.product.prodname_codespaces %}de](https://github.com/settings/codespaces): - Para habilitar a verificação do GPG, consulte "[Gerenciar a verificação de GPG para {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)." - Para definir seu editor, consulte "[Definindo seu editor padrão para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)" -- To set how long a codespace can remain unused before it is automatically stopped, see "[Setting your timeout period for GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." -- To set the period for which your unused codespaces are retained, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." +- Para definir quanto tempo um código não pode ser utilizado antes de ser interrompido automaticamente, consulte "[Definindo seu período de tempo limite para GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." +- Para definir o período para o qual seus códigos não utilizados são mantidos, consulte "[Configurando exclusão automática de seus codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)". - Para definir sua região padrão, consulte "[Definindo sua região padrão para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)." ## Leia mais diff --git a/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md index ab0c7b251b..743f4e9196 100644 --- a/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ Se você quiser usar hooks do Git para o seu código, você deverá configurar h Quando você tem acesso a {% data variables.product.prodname_github_codespaces %}, você verá uma aba "Codespace" dentro do menu suspenso ** Código de{% octicon "code" aria-label="The code icon" %} ** ao visualizar um repositório. -Você terá acesso a codespaces nas seguintes condições: +Você terá acesso ao {% data variables.product.prodname_github_codespaces %} nas seguintes condições: -* Você é um integrante de uma organização que habilitou {% data variables.product.prodname_codespaces %} e definiu um limite de gastos. -* Um proprietário da organização concedeu a você acesso a {% data variables.product.prodname_codespaces %}. -* O repositório pertence à organização que habilitou {% data variables.product.prodname_codespaces %}. +Ou todos estes são verdadeiros: +* Você é integrante, ou colaborador externo, de uma organização que permitiu {% data variables.product.prodname_codespaces %} e definiu um limite de gastos. +* O proprietário da organização permitiu que você criasse codespaces às custas da organização. +* O repositório para o qual você deseja criar um codespace pertence a esta organização. -{% note %} - -**Observação:** As pessoas que já aderiram ao beta com sua conta pessoal do {% data variables.product.prodname_dotcom %} não perderão acesso a {% data variables.product.prodname_codespaces %}. No entanto, {% data variables.product.prodname_codespaces %} para as pessoas, continuará sendo beta. - -{% endnote %} - -Os proprietários da organização podem permitir que todos os integrantes da organização criem codespaces, limitem a criação de códigos aos integrantes selecionados da organização ou desabilitem a criação de codespace. Para obter mais informações sobre como gerenciar o acesso aos codespaces dentro da sua organização, consulte "[Habilitar codespace para usuários da sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)". +Ou ambos são verdadeiros: +* Você está participando do beta de {% data variables.product.prodname_codespaces %} para usuários individuais. +* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator. Antes de {% data variables.product.prodname_codespaces %} pode ser usado em uma organização, um proprietário ou gerente de cobrança deverá ter um limite de gastos. Para obter mais informações, consulte "[Sobre limites de gastos para codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)". -Se você deseja criar um codespace para um repositório pertencente à sua conta pessoal ou outro usuário e você tem permissão para criar repositórios em uma organização que habilitou {% data variables.product.prodname_github_codespaces %}, você poderá criar uma bifurcação de repositórios pertencentes ao usuário na organização e, em seguida, criar um codespace para a bifurcação. +Os proprietários da organização podem especificar quem pode criar e usar codespaces às expensas da organização. Os proprietários da organização também podem impedir que o uso de qualquer código seja cobrado da organização. Para obter mais informações, consulte "[Habilitando {% data variables.product.prodname_github_codespaces %} para a sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)". ## Criar um codespace @@ -115,7 +112,7 @@ Se você deseja criar um codespace para um repositório pertencente à sua conta {% endnote %} - 1. Clique **Iniciar sessão**. + 1. Clique em **Iniciar sessão**. {% endwebui %} @@ -129,7 +126,7 @@ Se você deseja criar um codespace para um repositório pertencente à sua conta {% data reusables.cli.cli-learn-more %} -Para criar um novo codespace, use o subcomando `gh create`. +Para criar um novo codespace, use o subcomando `gh codespace create`. ```shell gh codespace create diff --git a/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index 211035cabb..578598e01a 100644 --- a/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -1,6 +1,6 @@ --- -title: Renaming a codespace -intro: 'You can use the {% data variables.product.prodname_cli %} to change the codespace display name to one of your choice.' +title: Renomeando um codespace +intro: 'Você pode usar o {% data variables.product.prodname_cli %} para alterar o nome de exibição do codespace para um de sua escolha.' product: '{% data reusables.gated-features.codespaces %}' versions: fpt: '*' @@ -10,45 +10,47 @@ topics: - Codespaces - Fundamentals - Developer -shortTitle: Rename a codespace +shortTitle: Renomear um codespace --- -## About renaming a codespace +## Sobre renomear um codespace -Each codespace is assigned an auto-generated display name. If you have multiple codespaces, the display name helps you to differentiate between codespaces. For example: `literate space parakeet`. You can change the display name for your codespace. +A cada codespace é atribuído um nome de exibição gerado automaticamente. Se você tiver vários codespaces, o nome de exibição ajudará você a diferenciá-los. Por exemplo: `literate space parakeet`. Você pode alterar o nome de exibição do seu codespace. -To find the display name of a codespace: +Para encontrar o nome de exibição de um codespace: -- On {% data variables.product.product_name %}, view your list of codespaces at https://github.com/codespaces. +- Em {% data variables.product.product_name %}, consulte sua lista de codespace em https://github.com/codespaces. - ![Screenshot of the list of codespaces in GitHub](/assets/images/help/codespaces/codespaces-list-display-name.png) + ![Captura de tela da lista de codespaces no GitHub](/assets/images/help/codespaces/codespaces-list-display-name.png) -- In the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client, click the Remote Explorer. The display name is shown below the repository name. For example: `symmetrical space telegram` in the screenshot below. +- No aplicativo de área de trabalho {% data variables.product.prodname_vscode %}, ou no cliente web {% data variables.product.prodname_vscode_shortname %}, clique no Explorador Remoto. O nome de exibição é mostrado abaixo do nome do repositório. Por exemplo: `symmetrical space telegram` na captura de tela abaixo. - ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) + ![Captura de tela do Explorador Remoto no VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) -- In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. -### Permanent codespace names +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} +- Em uma janela do terminal em sua máquina local, use o comando {% data variables.product.prodname_cli %}: `gh codespace list`. -In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. Por exemplo: `octocat-myrepo-gmc7`. You can't change this name. +### Nomes de codespaces permanente -To find the permanent name of a codespace: +Além do nome de exibição, ao criar um codespace, um nome permanente também é atribuído ao codespace. O nome é uma combinação do seu {% data variables.product.company_short %}, do nome do repositório e de alguns caracteres aleatórios. Por exemplo: `octocat-myrepo-gmc7`. Você não pode mudar este nome. -* On {% data variables.product.product_name %}, the permanent name is shown in a pop-up when you hover over the **Open in browser** option on https://github.com/codespaces. +Para encontrar o nome permanente de um codespace: - ![Screenshot of the codespace name shown on hover over](/assets/images/help/codespaces/find-codespace-name-github.png) +* Em {% data variables.product.product_name %}, o nome permanente é mostrado em uma janela pop-up quando você passa o mouse sobre a opção **Abrir no navegador** em https://github.com/codespaces. -* In a codespace, use this command in the terminal: `echo $CODESPACE_NAME`. -* In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ![Captura de tela do nome do código exibida ao passar o mouse](/assets/images/help/codespaces/find-codespace-name-github.png) -## Renaming a codespace +* Em um código, use este comando no terminal: `echo $CODESPACE_NAME`. +* Em uma janela do terminal em sua máquina local, use o comando {% data variables.product.prodname_cli %}: `gh codespace list`. -Changing the display name of a codespace can be useful if you have multiple codespaces that you will be using for an extended period. An appropriate name helps you identify a codespace that you use for a particular purpose. You can change the display name for your codespace by using the {% data variables.product.prodname_cli %}. +## Renomeando um codespace -To rename a codespace, use the `gh codespace edit` subcommand: +Alterar o nome de exibição de um codespace pode ser útil se você tiver vários codespaces que você irá usar por um período prolongado. Um nome apropriado ajuda você a identificar um codespace que você usa para uma finalidade específica. Você pode alterar o nome de exibição do seu codespace usando o {% data variables.product.prodname_cli %}. + +Para renomear um codespace, use o subcomando`gh codespace edit`: ```shell gh codespace edit -c permanent name of the codespace -d new display name ``` -In this example, replace `permanent name of the codespace` with the permanent name of the codespace. Replace `new display name` with the desired display name. +Neste exemplo, substitua `permanent name of the codespace` pelo nome permanente do codespace. Substitua `new display name` pelo nome de exibição desejado. diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index 0e4e9da920..e4cc0cc9af 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Habilitando o GitHub Codespaces para sua organização -shortTitle: Habilitar codespaces -intro: 'Você pode controlar quais usuários da sua organização podem usar {% data variables.product.prodname_github_codespaces %}.' +shortTitle: 'Habilite {% data variables.product.prodname_codespaces %}' +intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization''s expense.' product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: 'To alter an organization''s billing settings, you must be an organization owner.' redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## Sobre habilitar {% data variables.product.prodname_github_codespaces %} para a sua organização -Os proprietários da organização podem controlar quais usuários da sua organização podem criar e usar cdespaces. +Organization owners can control which users in your organization can create and use codespaces at the organization's expense. -Para usar codespaces na sua organização, você deve fazer o seguinte: +Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must: + +- Ensure that users have at least write access to the repositories where they want to use a codespace. Para obter mais informações, consulte "[Gerenciar equipes e pessoas com acesso ao seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository). " +- Certifique-se de que a sua organização não tem um endereço IP permitir a lista habilitada. Para obter mais informações, consulte "[Gerenciar endereços IP permitidos para sua organização](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% else %}"{% endif %} + +To allow people to create codespaces for which your organization will be billed, you must: -- Certifique-se de que os usuários tenham [pelo menos acesso de gravação](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) nos repositórios onde desejam usar um codespace. -- [Habilitar {% data variables.product.prodname_github_codespaces %} para os usuários da sua organização](#enable-codespaces-for-users-in-your-organization). Você pode escolher permitir {% data variables.product.prodname_codespaces %} para usuários selecionados ou apenas para usuários específicos. - [Definir um limite de gastos](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Certifique-se de que a sua organização não tem um endereço IP permitir a lista habilitada. Para obter mais informações, consulte "[Gerenciar endereços IP permitidos para sua organização](/{% 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 %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% else %}"{% endif %} - -Por padrão, um codespace só pode acessar o repositório no qual ele foi criado. Se você quiser que os codespaces na sua organização possam acessar outros repositórios da organização que o criador do codespace possa acessar, consulte "[Gerenciar acesso e segurança para {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". - -## Habilitar {% data variables.product.prodname_codespaces %} para os usuários na sua organização +- [Choose who can create codespaces that are billed to your organization](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ Por padrão, um codespace só pode acessar o repositório no qual ele foi criado {% endnote %} {% endif %} + +Por padrão, um codespace só pode acessar o repositório no qual ele foi criado. If you want codespaces in your organization to be able to access other organization repositories that the codespace creator can access, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." + +## Choose who can create codespaces that are billed to your organization + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Em "Permissões de usuário", selecione uma das seguintes opções: +1. Under "Billing," select one of the following options: - * **Usuários selecionados** para selecionar integrantes específicos da organização para usar {% data variables.product.prodname_codespaces %}. - * **Permitir para todos os integrantes** para permitir todos os integrantes da organização usem {% data variables.product.prodname_codespaces %}. - * **Permitir para todos os integrantes e colaboradores externos** para permitir que todos os integrantes da sua organização, bem como os colaboradores externos, usem {% data variables.product.prodname_codespaces %}. + * **Disabled** - Your organization will not be charged for codespace usage. {% data variables.product.prodname_codespaces %} created for your organization's repositories will be billed to the individual users who create them. + * **Selected members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by selected members will be billed to the organization. + * **All members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by members of your organization will be billed to the organization. + * **All members and outside collaborators** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by organization members and outside collaborators will be billed to the organization. - ![Botões de opção para "Permissões do usuário"](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Radio buttons for "Billing"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Observação:** Ao selecionar **Permitir para todos os integrantes e colaboradores externos**, todos os colaboradores externos que foram adicionados aos repositórios específicos poderão criar e usar {% data variables.product.prodname_codespaces %}. Sua organização será cobrada pelo uso de todos os colaboradores externos. Para obter mais informações sobre como gerenciar colaboradores externos, consulte "[Sobre colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". + **Note:** When you select **All members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %} for those repositories, and your organization will be billed for this usage. Para obter mais informações sobre como gerenciar colaboradores externos, consulte "[Sobre colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". {% endnote %} 1. Clique em **Salvar**. +1. If you chose **Selected members**, an input box is displayed for you to enter the names of users you want to select. + + ![Input box for selecting users](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Desabilitando {% data variables.product.prodname_codespaces %} para sua organização +You can prevent the creation and use of codespaces billable to your organization. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Em "Permissões de usuário", selecione **Desabilitado**. +1. Under "Billing," select **Disabled**. ## Definindo um limite de gastos diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index f39c2674aa..a2f4f71a74 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ Você pode definir um limite de uso para os codespaces na sua organização ou r ## Desabilitando ou limitando {% data variables.product.prodname_codespaces %} -É possível desabilitar o uso de {% data variables.product.prodname_codespaces %} na sua organização ou repositório. Para obter mais informações, consulte "[Gerenciar acesso ao repositório para os codespaces da sua organização](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". +Você pode desabilitar todo o uso de {% data variables.product.prodname_github_codespaces %} que seria cobrado da sua organização. Como alternativa, você pode especificar quais integrantes ou colaboradores da organização podem usar o {% data variables.product.prodname_codespaces %} às custas da sua organização. Para obter mais informações, consulte "[Habilitando {% data variables.product.prodname_github_codespaces %} para a sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)". -Você também pode limitar os usuários individuais que podem usar {% data variables.product.prodname_codespaces %}. Para obter mais informações, consulte "[Gerenciando permissões de usuário para sua organização](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)". +{% data reusables.codespaces.codespaces-disabling-org-billing %} -É possível limitar a escolha dos tipos de máquina que estão disponíveis para repositórios pertencentes à sua organização. Isso permite evitar que as pessoas usem máquinas com recursos excessivos para seus codespaces. Para obter mais informações, consulte "[Restringindo o acesso aos tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." +Você pode configurar quais repositórios podem ser acessados a partir de codespaces criados para um repositório específico. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". + +Você pode limitar a escolha de tipos de máquinas que estão disponíveis para codespaces criados a partir de repositórios pertencentes à organização. Isso permite que você evite que as pessoas usem máquinas com recursos excessivos em seus codespaces e incorram em custos desnecessários. Para obter mais informações, consulte "[Restringindo o acesso aos tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." + +Você também pode restringir quanto tempo um codespace pode não ser usado antes de ser automaticamente excluído. Isso pode ajudar a reduzir os custos de armazenamento para {% data variables.product.prodname_codespaces %}. Para obter mais informações, consulte "[Restringindo o período de retenção para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". ## Excluindo codespaces não utilizados @@ -47,6 +51,6 @@ Seus usuários podem excluir seus codespaces em https://github.com/codespaces e {% note %} -**Observação:** Somente a pessoa que criou um codespace pode excluí-lo. Atualmente, não há forma de os proprietários da organização excluírem os codespaces criados dentro de sua organização. +**Observação:** Os codespaces são excluídos automaticamente depois de terem sido interrompidos e permanecerem inativos por um número definido de dias. Para obter mais informações, consulte "[Restringindo o período de retenção para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". Um codespace só pode ser excluído manualmente pela pessoa que o criou. {% endnote %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 7f2c5d3ce1..e74fe7f955 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Observação de depreciação**: A configuração de acesso e segurança descrita abaixo está obsoleta e é documentada aqui apenas por referência. Para habilitar o acesso expandido a outros repositórios, adicione as permissões solicitadas à definição do contêiner de desenvolvimento. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". +**Observação de depreciação**: A configuração de acesso e segurança descrita abaixo está obsoleta e é documentada aqui apenas por referência. Para habilitar o acesso expandido a outros repositórios, adicione as permissões solicitadas ao seu arquivo de configuração `devcontainer.json`. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". {% endwarning %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 50096e843d..fafc1d5d6e 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ Por exemplo, você poderia criar uma política para toda a organização que res Se você adicionar uma política para toda a organização, você deverá configurá-la para a maior escolha de tipos de máquina que estarão disponíveis para qualquer repositório na sua organização. Em seguida, você pode adicionar políticas específicas ao repositório para restringir ainda mais a escolha. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionar uma política para limitar os tipos de máquina disponíveis {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index e23550b26d..1dd72e8373 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -40,6 +40,8 @@ Ao criar uma política, você define se ela se aplica a todos os repositórios d Se você adicionar uma política para toda a organização com uma restrição de tempo limite, você deverá definir o tempo limite como o período de tempo mais longo. Em seguida, é possível adicionar políticas separadas que definam o tempo limite máximo para um período mais curto para repositórios específicos na sua organização. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para definir um período máximo de tempo ocioso {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index 79825f9e29..278aac3a6b 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -26,6 +26,8 @@ Ao criar uma política, você define se ela se aplica a todos os repositórios d Se você adicionar uma política para toda a organização com uma restrição de retenção, você deverá definir o período de retenção para o período mais longo aceitável. Em seguida, é possível adicionar políticas separadas que definam o período de retenção máximo para um período mais curto para repositórios específicos na sua organização. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para definir um período máximo de retenção de codespace {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index 48766c04d5..357d798819 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ Por exemplo, você poderia criar uma política de toda a organização que restr Se você adicionar uma política para toda a organização, você deverá defini-la como a opção de visibilidade mais branda que estará disponível para qualquer repositório na organização. Em seguida, você pode adicionar políticas específicas ao repositório para restringir ainda mais a escolha. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para limitar as opções de visibilidade da porta {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index 55fa9830f3..b238e95d4b 100644 --- a/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ O nome do código também está incluído em muitos dos arquivos de registro. Po Todos os codespaces também possuem um ID (identificador). Ele não é exibido por padrão em {% data variables.product.prodname_vscode %}. Portanto, é possível que você precise atualizar as configurações para a extensão {% data variables.product.prodname_github_codespaces %} antes de acessar o ID. 1. Em {% data variables.product.prodname_vscode %}, navegador ou área de trabalho, na barra de atividades à esquerda, clique em **Explorador remoto** para mostrar as informações para o codespace. -2. Se a barra lateral incluir uma seção "Desempenho do codespace", passe o mouse sobre o "ID do codespace" e clique no ícone da área de transferência para copiar o ID. -3. Se a informação não for exibida, clique em {% octicon "gear" aria-label="The gear icon" %} no canto inferior esquerdo da barra de atividade, para exibir a aba "Configurações". -4. Expanda **Extensões** e clique em **{% data variables.product.prodname_github_codespaces %}** para exibir as configurações da extensão. Em seguida, habilite o **Exibir o explorador de desempenho** para exibir a seção "Codespace" na barra lateral. ![O ID do codespace e configurações necessárias para exibir informações de desempenho](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. Se a barra lateral incluir uma seção "Desempenho do codespace", passe o mouse sobre o "ID do codespace" e clique no ícone da área de transferência para copiar o ID. +1. Se a informação não for exibida, clique em {% octicon "gear" aria-label="The gear icon" %} no canto inferior esquerdo da barra de atividade, para exibir a aba "Configurações". +1. Expanda **Extensões** e clique em **{% data variables.product.prodname_github_codespaces %}** para exibir as configurações da extensão. Em seguida, habilite o **Exibir o explorador de desempenho** para exibir a seção "Codespace" na barra lateral. ![O ID do codespace e configurações necessárias para exibir informações de desempenho](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/pt-BR/content/developers/overview/about-githubs-apis.md b/translations/pt-BR/content/developers/overview/about-githubs-apis.md index afce6dd9a4..b5392876bf 100644 --- a/translations/pt-BR/content/developers/overview/about-githubs-apis.md +++ b/translations/pt-BR/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- Existem duas versões estáveis da API do GitHub: a [API REST](/rest) e a [API do GraphQL](/graphql). - -## Versões obsoletas - -### beta - -A API beta tornou-se obsoleta em 22 de abril de 2014. - -### v2 - -Removemos o suporte à API v2 em 12 de Junho de 2012. - -### v1 - -Removemos o suporte à API v1 em 12 de Junho de 2012. diff --git a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index 6386d24345..8912b36935 100644 --- a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index 88cf8656de..6e6899ce60 100644 --- a/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,20 @@ Você também pode configurar endereços IP permitidos para as organizações em ## Adicionar endereços IP permitidos +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Habilitar endereços IP permitidos +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +74,8 @@ Para mais informações sobre como criar uma lista de permissões para uma {% da ## Editar endereços IP permitidos +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +83,18 @@ Para mais informações sobre como criar uma lista de permissões para uma {% da {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificando se um endereço IP é permitido + +{% 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 %} ## Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..993e933de3 100644 --- a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -94,7 +94,7 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." diff --git a/translations/pt-BR/content/rest/deployments/deployments.md b/translations/pt-BR/content/rest/deployments/deployments.md index 3b5dd1922a..3c258cf34f 100644 --- a/translations/pt-BR/content/rest/deployments/deployments.md +++ b/translations/pt-BR/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ Os status de implantação externos permitem marcar implantações com `error`, Os status de implantação também podem incluir uma `descrição` opcional e `log_url`, que são altamente recomendados porque tornam o status de implantação mais útil. O `log_url` é a URL completa para a saída de implantação e a `descrição` é um resumo de alto nível do que aconteceu com a implantação. -O GitHub envia os eventos de `implantação` e `deployment_status` quando novas implantações de status de implantação são criadas. Esses eventos permitem que as integrações de terceiros recebam resposta para solicitações de implantação e atualizem o status de implantação conforme o progresso é feito. +O GitHub envia os eventos de `implantação` e `deployment_status` quando novas implantações de status de implantação são criadas. These events allow third-party integrations to receive and respond to deployment requests, and update the status of a deployment as progress is made. Abaixo está um diagrama de sequência sobre para como essas interações funcionariam. diff --git a/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md b/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md index 940cef7d5c..fdc40ed59d 100644 --- a/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Primeiros passos com a API REST -intro: 'Aprenda os fundamentos para usar a API REST, começando com a autenticação e alguns exemplos de pontos de extremidade.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API.' versions: fpt: '*' ghes: '*' @@ -11,418 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: Primeiros passos - REST API +shortTitle: Using the API +miniTocMaxHeadingLevel: 3 --- +## About the {% data variables.product.prodname_dotcom %} REST API -Vamos andar pelos conceitos básicos da API, à medida que abordamos alguns casos de uso diário. +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)." -{% data reusables.rest-api.dotcom-only-guide-note %} +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. -## Visão Geral +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). -A maioria dos aplicativos usará uma [biblioteca de segurança][wrappers] existente na linguagem da sua escolha, mas é importante familiarizar-se primeiro com os métodos HTTP e de API subjacentes. +## Making a request -Não há uma maneira mais de fazê-lo do que através do [cURL][curl].{% ifversion fpt or ghec %} Se você estiver usando um cliente alternativo, observe que você será obrigado a enviar um [cabeçalho do agente de usuário](/rest/overview/resources-in-the-rest-api#user-agent-required) válido na sua solicitação.{% endif %} +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)." -### Hello World +{% cli %} -Vamos começar testando a nossa configuração. Abra uma instrução de comando e digite o comando a seguir: +{% 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 -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -A resposta será uma seleção aleatória das nossas filosofias de design. +{% endcli %} -Next, let's `GET` [Chris Wanstrath's][defunkt github] [GitHub profile][users api]: +{% 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.product.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.product.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 -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Mmmmm, tastes like [JSON][json]. Vamos adicionar o sinalizador `-i` para incluir cabeçalhos: +{% 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 %} + +### Sobre 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 personal access token (PAT). The REST API operations used in this article require `repo` scope for personal access tokens. Other operations may require different scopes. Para obter mais informações sobre a criação de um token de acesso pessoal, consulte[Criando um token de acesso pessoal](/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. Para obter mais informações, consulte "[Autenticação automática de tokens](/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 -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -Há algumas partes interessantes nos cabeçalhos da resposta. Como esperado, o `Content-Type` é `application/json`. +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). -Qualquer cabeçalho que começar com `X -` é um cabeçalho personalizado e não está incluído nas especificações de HTTP. Por exemplo, anote os cabeçalhos `X-RateLimit-Limit` e `X-RateLimit-Remaining`. This pair of headers indicate [how many requests a client can make][rate-limiting] in a rolling time period (typically an hour) and how many of those requests the client has already spent. +{% endcli %} -## Autenticação - -Clientes sem autenticação podem fazer 60 solicitações por hora. Para obter mais solicitações por hora, precisaremos _efetuar a autenticação_. In fact, doing anything interesting with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API requires [authentication][authentication]. - -### Usar tokens de acesso pessoal - -A maneira melhor e mais fácil de efetuar a autenticação com a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API é usando a Autenticação Básica [por meio dos tokens do OAuth](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). OAuth tokens include [personal access tokens][personal token]. - -Use um sinalizador `-u` para definir o seu nome de usuário: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -Quando solicitado, você poderá inserir o seu token OAuth, mas nós recomendamos que você configure uma variável para isso: - -Você pode usar `-u "your_username:$token"` e configurar uma variável para `token` para evitar deixar seu token no histórico do shell, o que deve ser evitado. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -Ao efetuar a autenticação, você deverá ver seu limite de taxa disparado para 5.000 slicitações por hora, conforme indicado no cabeçalho `X-RateLimit-Limit`. Além de fornecer mais chamadas por hora, a autenticação permite que você leia e escreva informações privadas usando a API. - -You can easily [create a **personal access token**][personal token] using your [Personal access tokens settings page][tokens settings]: +{% javascript %} {% warning %} -Para ajudar a manter suas informações seguras, é altamente recomendável definir um vencimento para seus tokens de acesso pessoal. +**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 %}. Para obter mais informações, consulte "[Segredos criptografados](/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 %} -{% ifversion fpt or ghes or ghec %} -![Seleção de Token Pessoal](/assets/images/personal_token.png) +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.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**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:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) will only work with `Authorization: Bearer`. + +{% 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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/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.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/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.v3+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.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +The Octokit.js library automatically passes the `Accept: application/vnd.github.v3+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.v3+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.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, rerun the `gh auth login` command to authenticate to {% data variables.product.prodname_dotcom_the_website %} instead of {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![Seleção de Token Pessoal](/assets/images/help/personal_token_ghae.png) +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.v3+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.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, create a new `Octokit` instance and do not specify `baseURL`. + +{% endnote %} {% endif %} -As solicitações da API que usam um token de acesso pessoal vencido retornará a data de validade do token por meio do cabeçalho `GitHub-Authentication-Token-Expiration`. Você pode usar o cabeçalho nos seus scripts para fornecer uma mensagem de aviso quando o token estiver próximo da data de vencimento. +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`. -### Obtenha seu próprio perfil de usuário - -Quando autenticado corretamente, você pode aproveitar as permissões associadas à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Por exemplo, tente obter - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -This time, in addition to the same set of public information we retrieved for [@defunkt][defunkt github] earlier, you should also see the non-public information for your user profile. Por exemplo, você verá um objeto `plano` na resposta, que fornece detalhes sobre o plano de {% data variables.product.product_name %} para a conta. +{% endjavascript %} -### Usar tokens do OAuth para aplicativos +{% curl %} -Os aplicativos que precisam ler ou escrever informações privadas usando a API em nome de outro usuário devem usar o [OAuth][oauth]. +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`. -O OAuth usa _tokens_. Os tokens fornecem dois grandes recursos: +{% ifversion ghes or ghae %} +{% note %} -* **Acesso revogável**: os usuários podem revogar a autorização a aplicativos de terceiros a qualquer momento -* **Acesso limitado**: os usuários podem revisar o acesso específico que um token fornecerá antes de autorizar um aplicativo de terceiros +**Note:** If you want to use {% data variables.product.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.product.product_location %}. Replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. -Os tokens devem ser criados por meio de um [fluxo web][webflow]. Um aplicativo envia os usuários para {% data variables.product.product_name %} para efetuar o login. {% data variables.product.product_name %} apresenta uma caixa de diálogo, que indica o nome do aplicativo, bem como o nível de acesso que o aplicativo tem uma após ser autorizado pelo usuário. Depois que um usuário autoriza o acesso, {% data variables.product.product_name %} redireciona o usuário de volta para o aplicativo: - -![Diálogo do GitHub's OAuth](/assets/images/oauth_prompt.png) - -**Trate os tokens de OAuth como senhas!** Não compartilhe-os com outros usuários ou armazene-os em lugares inseguros. Os tokens nestes exemplos são falsos e os nomes foram alterados para proteger os inocentes. - -Now that we've got the hang of making authenticated calls, let's move along to the [Repositories API][repos-api]. - -## Repositórios - -Quase qualquer uso significativo da {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API envolverá algum nível de informação do repositório. We can [`GET` repository details][get repo] in the same way we fetched user details earlier: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -In the same way, we can [view repositories for the authenticated user][user repos api]: +{% 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 -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -Or, we can [list repositories for another user][other user repos api]: +{% 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 -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -Or, we can [list repositories for an organization][org repos api]: +{% 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 -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -As informações retornadas dessas chamadas dependerão de quais escopos o nosso token terá quando efetuarmos a autenticação: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* A token with `public_repo` [scope][scopes] returns a response that includes all public repositories we have access to see on {% data variables.product.product_location %}. -{%- endif %} -* A token with `repo` [scope][scopes] returns a response that includes all {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories we have access to see on {% data variables.product.product_location %}. +{% javascript %} -As the [docs][repos-api] indicate, these methods take a `type` parameter that can filter the repositories returned based on what type of access the user has for the repository. Desta forma, podemos buscar apenas repositórios de propriedade direta, repositórios da organização ou repositórios nos quais o usuário colabora por meio de uma equipe. +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 %} + +For cURL, use the `--data` flag to pass the body parameters in a JSON object. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -Neste exemplo, pegamos apenas os repositórios que o octocat possui, não os nos quais ela colabora. Observe a URL entre aspas acima. Dependendo de sua configuração do shell, a cURL às vezes exigirá uma URL entre aspas ou irá ignorar a string de consulta. +{% endcurl %} -### Criar um repositório +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. -Buscar informações para repositórios existentes é um caso de uso comum, mas a -{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} A API é compatível com a criação de novos repositórios também. To [create a repository][create repo], -precisamos `POST` alguns JSON que contém informações e opções de configuração. +## 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 -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -In this minimal example, we create a new private repository for our blog (to be served on [GitHub Pages][pages], perhaps). Embora o blogue {% ifversion not ghae %}seja público{% else %}, ele pode ser acessado por todos os integrantes da empresa{% endif %}, tornamos o repositório privado. In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. - -O repositório resultante será encontrado em `https://github.com//blog`. Para criar um repositório sob uma organização da qual você é proprietário, altere apenas o método API de `/user/repos` para `/orgs//repos`. - -Em seguida, vamos buscar nosso repositório recém-criado: +returns the response code and headers like: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -Ah não! Onde ele foi parar? Uma vez que criamos o repositório como _privado_, precisamos autenticá-lo para poder vê-lo. Se você é um usuário de HTTP, você pode esperar um `403`. Como não queremos vazar informações sobre repositórios privados, a API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} retorna `404` neste caso, como se dissesse "não podemos nem confirmar nem negar a existência deste repositório". +In this example, the response code is `200`, which indicates a successful request. -## Problemas +{% endcli %} -A interface de usuário para problemas no {% data variables.product.product_name %} visa a fornecer fluxo de trabalho "apenas suficiente" enquanto permanece fora de seu caminho. With the {% data variables.product.product_name %} [Issues API][issues-api], you can pull data out or create issues from other tools to create a workflow that works for your team. +{% javascript %} -Assim como o github.com, a API fornece alguns métodos para exibir problemas para o usuário autenticado. To [see all your issues][get issues api], call `GET /issues`: +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 -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -To get only the [issues under one of your {% data variables.product.product_name %} organizations][get issues api], call `GET -/orgs//issues`: +returns the response code and headers like: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -We can also get [all the issues under a single repository][repo issues api]: +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 -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### Paginação +{% endcli %} -Um projeto do tamanho de Rails tem milhares de problemas. We'll need to [paginate][pagination], making multiple API calls to get the data. Vamos repetir essa última chamada, anotando os cabeçalhos de resposta: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -The [`Link` header][link-header] provides a way for a response to link to external resources, in this case additional pages of data. Como nossa chamada encontrou mais de trinta problemas (o tamanho da página padrão), a API nos informa onde podemos encontrar a próxima página e a última página de resultados. +{% endcurl %} -### Criar um problema +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. -Now that we've seen how to paginate lists of issues, let's [create an issue][create issue] from the API. +{% cli %} -Para criar um problema, precisamos estar autenticados. Portanto, passaremos um token do OAuth no cabeçalho. Além disso, passaremos o título, texto, e as etiquetas no texto do JSON para o caminho `/issues` abaixo do repositório em que queremos criar o problema: +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -A resposta nos dá algumas indicações sobre a questão recém-criada, tanto no cabeçalho de resposta da `Localização` quanto no campo `url` da resposta do JSON. - -## Solicitações condicionais - -Uma grande parte de ser um bom cidadão da API é respeitar os limites de taxa por meio de armazenamento de informações que não mudaram. The API supports [conditional requests][conditional-requests] and helps you do the right thing. Considere a primeira chamada de que fizemos para obter o perfil de defunkt: +Then you can use jq to get the title and author ID of each issue: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -Além do texto do JSON, anote o código de status de HTTP de `200` e o cabeçalho `ETag`. The [ETag][etag] is a fingerprint of the response. Se passarmos isso em chamadas subsequentes, podemos dizer à API para nos dar o recurso novamente, somente se tiver mudado: +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 -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -O status `304` indica que o recurso não mudou desde a última vez que pedimos e a resposta não conterá texto. As a bonus, `304` responses don't count against your [rate limit][rate-limiting]. +Then you can use jq to get the title and author ID of each issue: -Agora você sabe o básico da API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* Autenticação básica do & OAuth -* Buscar e criar de repositórios e problemas -* Solicitações condicionais +The previous two commands return something like: -Keep learning with the next API guide [Basics of Authentication][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[defunkt github]: https://github.com/defunkt -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[personal token]: /articles/creating-an-access-token-for-command-line-use -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcurl %} + +## Próximas etapas + +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/pt-BR/content/rest/index.md b/translations/pt-BR/content/rest/index.md index e71c82453c..9242b32bba 100644 --- a/translations/pt-BR/content/rest/index.md +++ b/translations/pt-BR/content/rest/index.md @@ -3,7 +3,8 @@ title: API de REST do GitHub shortTitle: API REST intro: 'Para criar integrações, recuperar dados e automatizar seus fluxos de trabalho, crie com a API REST de {% data variables.product.prodname_dotcom %}.' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/pt-BR/content/rest/quickstart.md b/translations/pt-BR/content/rest/quickstart.md new file mode 100644 index 0000000000..7e73442084 --- /dev/null +++ b/translations/pt-BR/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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/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. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% 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. Por exemplo: + +```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 personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} 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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +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. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% 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. Por exemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} 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)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +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. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% 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. Por exemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Próximas etapas + +For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." diff --git a/translations/pt-BR/data/features/actions-oidc-hardening-config.yml b/translations/pt-BR/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/pt-BR/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/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/pt-BR/data/features/enterprise-namespace-repo-setting.yml b/translations/pt-BR/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/pt-BR/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/pt-BR/data/features/ip-allow-list-address-check.yml b/translations/pt-BR/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/pt-BR/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml b/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/pt-BR/data/features/push-protection-custom-link-orgs-beta.yml b/translations/pt-BR/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/pt-BR/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/pt-BR/data/features/push-protection-custom-link-orgs.yml b/translations/pt-BR/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/pt-BR/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/pt-BR/data/features/ssh-commit-verification.yml b/translations/pt-BR/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/pt-BR/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/pt-BR/data/reusables/accounts/create-personal-access-tokens.md b/translations/pt-BR/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..c7b8790ed4 --- /dev/null +++ b/translations/pt-BR/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated PAT with `repo` scope. Para obter mais informações, consulte "[Criando um token de acesso pessoal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/actions/use-request-body-api.md b/translations/pt-BR/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..1d37d0c4f0 --- /dev/null +++ b/translations/pt-BR/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +To apply this configuration, submit a request to the API endpoint and include the required configuration in the request body. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md b/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..a79fc22417 --- /dev/null +++ b/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to add resource links to blocked push messages is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md index 2b3424114a..51da1e8420 100644 --- a/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. Em "{% data variables.product.prodname_secret_scanning_caps %}", em "Proteção push", clique em **Habilitar todos**. ![Captura de tela que mostra como habilitar a proteção push para {% data variables.product.prodname_secret_scanning %} para uma organização](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. Opcionalmente, clique em "Habilitar automaticamente em repositórios privados adicionados ao {% data variables.product.prodname_secret_scanning %}." +1. Optionally, click "Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}."{% ifversion push-protection-custom-link-orgs %} +1. Optionally, to include a custom link in the message that members will see when they attempt to push a secret, select **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/code-scanning/licensing-note.md b/translations/pt-BR/data/reusables/code-scanning/licensing-note.md index 475e59a7d4..8c1dc4e2af 100644 --- a/translations/pt-BR/data/reusables/code-scanning/licensing-note.md +++ b/translations/pt-BR/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} -**Note:** {% ifversion fpt %} -The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](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. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". -{%- elsif ghes or ghae %}O {% data variables.product.prodname_codeql_cli %} está disponível para clientes com uma licença de {% data variables.product.prodname_advanced_security %}. +**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 %}. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](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. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". +{%- elsif ghes or ghae %} +- O {% data variables.product.prodname_codeql_cli %} está disponível para os clientes com uma licença de {% data variables.product.prodname_advanced_security %}. {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..2a1c2a8e53 --- /dev/null +++ b/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 2eacc3e212..e286675cee 100644 --- a/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. Em {% data variables.product.prodname_vscode_shortname %}, na barra lateral esquerda, clique no ícone Remote Explorer. ![O ícone do Remote Explorer em {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. Em {% data variables.product.prodname_vscode_shortname %}, na barra lateral esquerda, clique no ícone Remote Explorer. + + ![O ícone do Remote Explorer em {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..a3d7ca0c7a --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: If you disable billable codespaces use for your organization, anyone who can create codespaces as an individual user, and can clone a repository in your organization, will still be able to create a codespace for that repository. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..69e6530791 --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md index 61e7031435..69820f0878 100644 --- a/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**Note:** You must set a spending limit before you can use {% data variables.product.prodname_codespaces %}. +**Note:** You must set a non-zero spending limit before you can use {% data variables.product.prodname_codespaces %}. {% endnote %} -By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0. +By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0. This prevents new codespaces from being created, or existing codespaces from being opened, if this would incur a billable cost to your organization or enterprise. To allow your users to create codespaces in your organization, set the limit to a value higher than $0. {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/pt-BR/data/reusables/codespaces/remote-explorer.md b/translations/pt-BR/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..c46ed9b539 --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**Note**: If the Remote Explorer is not displayed in the Activity Bar: + +1. Access the command palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Type: `codespaces`. +1. Click **Codespaces: Details**. + +{% endnote %} diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md index 3dc85d7c17..f010f96ca7 100644 --- a/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. Em "Repository creation" (Criação de repositório), selecione uma política. ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. Em "Repository creation" (Criação de repositório), selecione uma política. + {% ifversion enterprise-namespace-repo-setting %} + ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index 525aa116b2..0000000000 --- a/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. Em "Repository visibility change" (Mudança de visibilidade do repositório), use o menu suspenso e escolha uma política. ![Menu suspenso com opções de política de visibilidade do repositório](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md b/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md index 5d74f91ca1..b71d9a50b8 100644 --- a/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +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. Na barra lateral esquerda, clique em **Security** (Segurança). {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/git/cache-on-repository-path.md b/translations/pt-BR/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..ced81ebbd9 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. To configure Git to cache credentials for each local directory where you clone a repository, enter the following command. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md b/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md b/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/pt-BR/data/reusables/git/confirm-credential-manager.md b/translations/pt-BR/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/pt-BR/data/reusables/git/no-credential-manager.md b/translations/pt-BR/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/git/open-terminal.md b/translations/pt-BR/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..7eeb8de93f --- /dev/null +++ b/translations/pt-BR/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. Abra o terminal. diff --git a/translations/pt-BR/data/reusables/git/provide-credentials.md b/translations/pt-BR/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md b/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md b/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..ccfe59c1e1 --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. Copie a chave pública SSH para a sua área de transferência. + + Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Dica:** se `pbcopy` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Dica:** se `clip` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **Dica:** Como alternativa, você pode localizar a pasta oculta de `.ssh`, abrir o arquivo no seu editor de texto favorito e copiá-lo na sua área de transferência. + + {% endtip %} +{% endlinux %} diff --git a/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md b/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/gpg/ssh-git-version.md b/translations/pt-BR/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..b7b745ca4f --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. Para atualizar sua versão do Git, consulte o site [Git](https://git-scm.com/downloads). + +{% endnote %} diff --git a/translations/pt-BR/data/reusables/gpg/x-509-key.md b/translations/pt-BR/data/reusables/gpg/x-509-key.md index d01c81454b..956f178d79 100644 --- a/translations/pt-BR/data/reusables/gpg/x-509-key.md +++ b/translations/pt-BR/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### Contando ao Git sobre sua chave X.509 +## Contando ao Git sobre sua chave X.509 Você pode usar [smimesign](https://github.com/github/smimesign) para assinar commits e tags usando S/MIME em vez de GPG. diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index 3bee02a42c..c7be5a3a0d 100644 --- a/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -Para fazer cumprir a lista de permissões de IP, você deve primeiro adicionar endereços IP à lista, e então habilitar a lista de permissões de IP. É preciso adicionar o endereço IP atual ou um intervalo correspondente antes de habilitar a lista de permissões de IP. +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 %} + +É preciso adicionar o endereço IP atual ou um intervalo correspondente antes de habilitar a lista de permissões de IP. diff --git a/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md index bc75f9431c..23e71bf6bf 100644 --- a/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ Ao usar a interface de usuário web para tentar confirmar um segredo suportado p Você verá um banner no topo da página com informações sobre a localização do segredo, e o segredo também será sublinhado no arquivo para que você possa encontrá-lo facilmente. +{% ifversion push-protection-custom-link-orgs %} + + ![Captura de tela que mostra o commit na interface de usuário da web bloqueado devido à proteção de push da digitalização de segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![Captura de tela que mostra o commit na interface de usuário da web bloqueado devido à proteção de push da digitalização de segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file