1
0
mirror of synced 2025-12-30 12:02:01 -05:00

New translation batch for pt (#23830)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* Run script/i18n/lint-translation-files.js --check rendering

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=pt

* run script/i18n/reset-known-broken-translation-files.js

* Check in pt CSV report
This commit is contained in:
docubot
2021-12-17 11:59:44 -06:00
committed by GitHub
parent ea861e22ad
commit 8a59dec094
183 changed files with 4112 additions and 2346 deletions

View File

@@ -62,8 +62,17 @@ translations/pt-BR/content/actions/creating-actions/setting-exit-codes-for-actio
translations/pt-BR/content/actions/deployment/about-deployments/about-continuous-deployment.md,rendering error
translations/pt-BR/content/actions/deployment/about-deployments/deploying-with-github-actions.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/index.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/index.md,rendering error
translations/pt-BR/content/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md,rendering error
translations/pt-BR/content/actions/deployment/index.md,rendering error
translations/pt-BR/content/actions/deployment/managing-your-deployments/viewing-deployment-history.md,rendering error
@@ -227,6 +236,7 @@ translations/pt-BR/content/admin/enterprise-support/overview/about-github-premiu
translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/index.md,rendering error
translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md,rendering error
translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md,rendering error
translations/pt-BR/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md,rendering error
translations/pt-BR/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md,rendering error
translations/pt-BR/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates.md,rendering error
translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae.md,rendering error
@@ -256,6 +266,7 @@ translations/pt-BR/content/admin/installation/setting-up-a-github-enterprise-ser
translations/pt-BR/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md,rendering error
translations/pt-BR/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md,rendering error
translations/pt-BR/content/admin/overview/about-enterprise-accounts.md,rendering error
translations/pt-BR/content/admin/overview/about-github-ae.md,rendering error
translations/pt-BR/content/admin/overview/about-the-github-enterprise-api.md,rendering error
translations/pt-BR/content/admin/overview/about-upgrades-to-new-releases.md,rendering error
translations/pt-BR/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md,rendering error
@@ -411,6 +422,7 @@ translations/pt-BR/content/code-security/security-overview/about-the-security-ov
translations/pt-BR/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md,rendering error
translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md,rendering error
@@ -448,10 +460,19 @@ translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/set
translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md,rendering error
translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md,rendering error
translations/pt-BR/content/communities/documenting-your-project-with-wikis/about-wikis.md,rendering error
translations/pt-BR/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md,rendering error
translations/pt-BR/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md,rendering error
translations/pt-BR/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md,rendering error
translations/pt-BR/content/communities/documenting-your-project-with-wikis/index.md,rendering error
translations/pt-BR/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md,rendering error
translations/pt-BR/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md,rendering error
translations/pt-BR/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md,rendering error
translations/pt-BR/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md,rendering error
translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md,rendering error
translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/index.md,rendering error
translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md,rendering error
translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md,rendering error
translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md,rendering error
translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md,rendering error
translations/pt-BR/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md,rendering error
translations/pt-BR/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md,rendering error
@@ -460,27 +481,65 @@ translations/pt-BR/content/desktop/installing-and-configuring-github-desktop/ove
translations/pt-BR/content/developers/apps/building-github-apps/authenticating-with-github-apps.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/index.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md,rendering error
translations/pt-BR/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md,rendering error
translations/pt-BR/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md,rendering error
translations/pt-BR/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md,rendering error
translations/pt-BR/content/developers/apps/building-oauth-apps/index.md,rendering error
translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md,rendering error
translations/pt-BR/content/developers/apps/getting-started-with-apps/about-apps.md,rendering error
translations/pt-BR/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md,rendering error
translations/pt-BR/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md,rendering error
translations/pt-BR/content/developers/apps/guides/index.md,rendering error
translations/pt-BR/content/developers/apps/guides/using-content-attachments.md,rendering error
translations/pt-BR/content/developers/apps/guides/using-the-github-api-in-your-app.md,rendering error
translations/pt-BR/content/developers/apps/index.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/deleting-a-github-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/index.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/modifying-a-github-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/index.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md,rendering error
translations/pt-BR/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md,rendering error
translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md,rendering error
translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md,rendering error
translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md,rendering error
translations/pt-BR/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md,rendering error
translations/pt-BR/content/developers/github-marketplace/index.md,rendering error
translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md,rendering error
translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md,rendering error
translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md,rendering error
translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md,rendering error
translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md,rendering error
translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md,rendering error
translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md,rendering error
translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md,rendering error
translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md,rendering error
translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md,rendering error
translations/pt-BR/content/developers/overview/managing-deploy-keys.md,rendering error
translations/pt-BR/content/developers/overview/replacing-github-services.md,rendering error
translations/pt-BR/content/developers/overview/secret-scanning-partner-program.md,rendering error
translations/pt-BR/content/developers/overview/using-ssh-agent-forwarding.md,rendering error
translations/pt-BR/content/developers/webhooks-and-events/events/issue-event-types.md,rendering error
translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md,rendering error
translations/pt-BR/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md,rendering error
translations/pt-BR/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md,rendering error
translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md,rendering error
translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md,rendering error
translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md,rendering error
@@ -508,6 +567,7 @@ translations/pt-BR/content/get-started/getting-started-with-git/managing-remote-
translations/pt-BR/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md,rendering error
translations/pt-BR/content/get-started/index.md,rendering error
translations/pt-BR/content/get-started/learning-about-github/about-github-advanced-security.md,rendering error
translations/pt-BR/content/get-started/learning-about-github/about-versions-of-github-docs.md,rendering error
translations/pt-BR/content/get-started/learning-about-github/access-permissions-on-github.md,rendering error
translations/pt-BR/content/get-started/learning-about-github/githubs-products.md,rendering error
translations/pt-BR/content/get-started/learning-about-github/index.md,rendering error
@@ -599,6 +659,15 @@ translations/pt-BR/content/graphql/guides/migrating-graphql-global-node-ids.md,r
translations/pt-BR/content/graphql/index.md,rendering error
translations/pt-BR/content/graphql/reference/mutations.md,rendering error
translations/pt-BR/content/issues/guides.md,rendering error
translations/pt-BR/content/issues/index.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md,rendering error
translations/pt-BR/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md,rendering error
translations/pt-BR/content/issues/tracking-your-work-with-issues/about-issues.md,rendering error
translations/pt-BR/content/issues/tracking-your-work-with-issues/about-task-lists.md,rendering error
translations/pt-BR/content/issues/tracking-your-work-with-issues/creating-an-issue.md,rendering error
translations/pt-BR/content/issues/tracking-your-work-with-issues/deleting-an-issue.md,rendering error
@@ -616,6 +685,8 @@ translations/pt-BR/content/issues/trying-out-the-new-projects-experience/managin
translations/pt-BR/content/issues/trying-out-the-new-projects-experience/managing-the-visibility-of-your-projects.md,rendering error
translations/pt-BR/content/issues/trying-out-the-new-projects-experience/quickstart.md,rendering error
translations/pt-BR/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md,rendering error
translations/pt-BR/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md,rendering error
translations/pt-BR/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md,rendering error
translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md,rendering error
translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md,rendering error
translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md,rendering error
@@ -651,14 +722,22 @@ translations/pt-BR/content/organizations/managing-membership-in-your-organizatio
translations/pt-BR/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/deleting-an-organization-account.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/renaming-an-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/transferring-organization-ownership.md,rendering error
translations/pt-BR/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md,rendering error
translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md,rendering error
translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md,rendering error
translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md,rendering error
translations/pt-BR/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md,rendering error
translations/pt-BR/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md,rendering error
@@ -707,17 +786,33 @@ translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pag
translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md,rendering error
translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/index.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md,rendering error
translations/pt-BR/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md,rendering error
translations/pt-BR/content/pages/index.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/index.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md,rendering error
translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/getting-started/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/adding-a-pull-request-to-the-merge-queue.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md,rendering error
@@ -725,6 +820,11 @@ translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/propos
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md,rendering error
translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/index.md,rendering error
@@ -780,13 +880,19 @@ translations/pt-BR/content/repositories/working-with-files/managing-large-files/
translations/pt-BR/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,rendering error
translations/pt-BR/content/repositories/working-with-files/using-files/navigating-code-on-github.md,rendering error
translations/pt-BR/content/repositories/working-with-files/using-files/tracking-changes-in-a-file.md,rendering error
translations/pt-BR/content/rest/guides/best-practices-for-integrators.md,rendering error
translations/pt-BR/content/rest/guides/building-a-ci-server.md,rendering error
translations/pt-BR/content/rest/guides/delivering-deployments.md,rendering error
translations/pt-BR/content/rest/guides/discovering-resources-for-a-user.md,rendering error
translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md,rendering error
translations/pt-BR/content/rest/guides/index.md,rendering error
translations/pt-BR/content/rest/guides/rendering-data-as-graphs.md,rendering error
translations/pt-BR/content/rest/guides/traversing-with-pagination.md,rendering error
translations/pt-BR/content/rest/guides/working-with-comments.md,rendering error
translations/pt-BR/content/rest/index.md,rendering error
translations/pt-BR/content/rest/overview/api-previews.md,rendering error
translations/pt-BR/content/rest/overview/libraries.md,rendering error
translations/pt-BR/content/rest/overview/resources-in-the-rest-api.md,rendering error
translations/pt-BR/content/rest/reference/actions.md,rendering error
translations/pt-BR/content/rest/reference/activity.md,rendering error
translations/pt-BR/content/rest/reference/branches.md,rendering error
@@ -798,6 +904,7 @@ translations/pt-BR/content/rest/reference/enterprise-admin.md,rendering error
translations/pt-BR/content/rest/reference/gists.md,Listed in localization-support#489
translations/pt-BR/content/rest/reference/gists.md,rendering error
translations/pt-BR/content/rest/reference/index.md,rendering error
translations/pt-BR/content/rest/reference/orgs.md,rendering error
translations/pt-BR/content/rest/reference/packages.md,rendering error
translations/pt-BR/content/rest/reference/pages.md,rendering error
translations/pt-BR/content/rest/reference/permissions-required-for-github-apps.md,rendering error
@@ -812,6 +919,8 @@ translations/pt-BR/content/rest/reference/teams.md,rendering error
translations/pt-BR/content/rest/reference/webhooks.md,rendering error
translations/pt-BR/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md,rendering error
translations/pt-BR/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md,rendering error
translations/pt-BR/content/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md,rendering error
translations/pt-BR/content/search-github/index.md,rendering error
translations/pt-BR/content/search-github/searching-on-github/searching-commits.md,rendering error
translations/pt-BR/content/search-github/searching-on-github/searching-discussions.md,rendering error
translations/pt-BR/content/search-github/searching-on-github/searching-for-repositories.md,rendering error
1 file reason
62 translations/pt-BR/content/actions/deployment/about-deployments/about-continuous-deployment.md rendering error
63 translations/pt-BR/content/actions/deployment/about-deployments/deploying-with-github-actions.md rendering error
64 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md rendering error
65 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure-app-service.md translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md rendering error
66 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md rendering error
67 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md rendering error
68 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md rendering error
69 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service.md rendering error
70 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md rendering error
71 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md rendering error
72 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md rendering error
73 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/index.md rendering error
74 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md rendering error
75 translations/pt-BR/content/actions/deployment/deploying-to-your-cloud-provider/index.md rendering error
76 translations/pt-BR/content/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md rendering error
77 translations/pt-BR/content/actions/deployment/index.md rendering error
78 translations/pt-BR/content/actions/deployment/managing-your-deployments/viewing-deployment-history.md rendering error
236 translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/index.md rendering error
237 translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md rendering error
238 translations/pt-BR/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md rendering error
239 translations/pt-BR/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md rendering error
240 translations/pt-BR/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md rendering error
241 translations/pt-BR/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates.md rendering error
242 translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae.md rendering error
266 translations/pt-BR/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md rendering error
267 translations/pt-BR/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md rendering error
268 translations/pt-BR/content/admin/overview/about-enterprise-accounts.md rendering error
269 translations/pt-BR/content/admin/overview/about-github-ae.md rendering error
270 translations/pt-BR/content/admin/overview/about-the-github-enterprise-api.md rendering error
271 translations/pt-BR/content/admin/overview/about-upgrades-to-new-releases.md rendering error
272 translations/pt-BR/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md rendering error
422 translations/pt-BR/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions.md rendering error
423 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md rendering error
424 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md rendering error
425 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md rendering error
426 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md rendering error
427 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md rendering error
428 translations/pt-BR/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md rendering error
460 translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md rendering error
461 translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md rendering error
462 translations/pt-BR/content/communities/documenting-your-project-with-wikis/about-wikis.md rendering error
463 translations/pt-BR/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md rendering error
464 translations/pt-BR/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md rendering error
465 translations/pt-BR/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md rendering error
466 translations/pt-BR/content/communities/documenting-your-project-with-wikis/index.md rendering error
467 translations/pt-BR/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md rendering error
468 translations/pt-BR/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md rendering error
469 translations/pt-BR/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md rendering error
470 translations/pt-BR/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md rendering error
471 translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md rendering error
472 translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/index.md rendering error
473 translations/pt-BR/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md rendering error
474 translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md rendering error
475 translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md rendering error
476 translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md rendering error
477 translations/pt-BR/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md rendering error
478 translations/pt-BR/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md rendering error
481 translations/pt-BR/content/developers/apps/building-github-apps/authenticating-with-github-apps.md rendering error
482 translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md rendering error
483 translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md rendering error
484 translations/pt-BR/content/developers/apps/building-github-apps/creating-a-github-app.md rendering error
485 translations/pt-BR/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md rendering error
486 translations/pt-BR/content/developers/apps/building-github-apps/index.md rendering error
487 translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md rendering error
488 translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md rendering error
489 translations/pt-BR/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md rendering error
490 translations/pt-BR/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md rendering error
491 translations/pt-BR/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md rendering error
492 translations/pt-BR/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md rendering error
493 translations/pt-BR/content/developers/apps/building-oauth-apps/index.md rendering error
494 translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md rendering error
495 translations/pt-BR/content/developers/apps/getting-started-with-apps/about-apps.md rendering error
496 translations/pt-BR/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md rendering error
497 translations/pt-BR/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md rendering error
498 translations/pt-BR/content/developers/apps/guides/index.md rendering error
499 translations/pt-BR/content/developers/apps/guides/using-content-attachments.md rendering error
500 translations/pt-BR/content/developers/apps/guides/using-the-github-api-in-your-app.md rendering error
501 translations/pt-BR/content/developers/apps/index.md rendering error
502 translations/pt-BR/content/developers/apps/managing-github-apps/deleting-a-github-app.md rendering error
503 translations/pt-BR/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md rendering error
504 translations/pt-BR/content/developers/apps/managing-github-apps/index.md rendering error
505 translations/pt-BR/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md rendering error
506 translations/pt-BR/content/developers/apps/managing-github-apps/modifying-a-github-app.md rendering error
507 translations/pt-BR/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md rendering error
508 translations/pt-BR/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md rendering error
509 translations/pt-BR/content/developers/apps/managing-oauth-apps/index.md rendering error
510 translations/pt-BR/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md rendering error
511 translations/pt-BR/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md rendering error
512 translations/pt-BR/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md rendering error
513 translations/pt-BR/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md rendering error
514 translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md rendering error
515 translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md rendering error
516 translations/pt-BR/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md rendering error
517 translations/pt-BR/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md rendering error
518 translations/pt-BR/content/developers/github-marketplace/index.md rendering error
519 translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md rendering error
520 translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md rendering error
521 translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md rendering error
522 translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md rendering error
523 translations/pt-BR/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md rendering error
524 translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md rendering error
525 translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md rendering error
526 translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md rendering error
527 translations/pt-BR/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md rendering error
528 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md rendering error
529 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md rendering error
530 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md rendering error
531 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md rendering error
532 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md rendering error
533 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md rendering error
534 translations/pt-BR/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md rendering error
535 translations/pt-BR/content/developers/overview/managing-deploy-keys.md rendering error
536 translations/pt-BR/content/developers/overview/replacing-github-services.md rendering error
537 translations/pt-BR/content/developers/overview/secret-scanning-partner-program.md rendering error
538 translations/pt-BR/content/developers/overview/using-ssh-agent-forwarding.md rendering error
539 translations/pt-BR/content/developers/webhooks-and-events/events/issue-event-types.md rendering error
540 translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md rendering error
541 translations/pt-BR/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md rendering error
542 translations/pt-BR/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md rendering error
543 translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md rendering error
544 translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md rendering error
545 translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md rendering error
567 translations/pt-BR/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md rendering error
568 translations/pt-BR/content/get-started/index.md rendering error
569 translations/pt-BR/content/get-started/learning-about-github/about-github-advanced-security.md rendering error
570 translations/pt-BR/content/get-started/learning-about-github/about-versions-of-github-docs.md rendering error
571 translations/pt-BR/content/get-started/learning-about-github/access-permissions-on-github.md rendering error
572 translations/pt-BR/content/get-started/learning-about-github/githubs-products.md rendering error
573 translations/pt-BR/content/get-started/learning-about-github/index.md rendering error
659 translations/pt-BR/content/graphql/index.md rendering error
660 translations/pt-BR/content/graphql/reference/mutations.md rendering error
661 translations/pt-BR/content/issues/guides.md rendering error
662 translations/pt-BR/content/issues/index.md rendering error
663 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md rendering error
664 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md rendering error
665 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md rendering error
666 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md rendering error
667 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md rendering error
668 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md rendering error
669 translations/pt-BR/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md rendering error
670 translations/pt-BR/content/issues/tracking-your-work-with-issues/about-issues.md rendering error
671 translations/pt-BR/content/issues/tracking-your-work-with-issues/about-task-lists.md rendering error
672 translations/pt-BR/content/issues/tracking-your-work-with-issues/creating-an-issue.md rendering error
673 translations/pt-BR/content/issues/tracking-your-work-with-issues/deleting-an-issue.md rendering error
685 translations/pt-BR/content/issues/trying-out-the-new-projects-experience/managing-the-visibility-of-your-projects.md rendering error
686 translations/pt-BR/content/issues/trying-out-the-new-projects-experience/quickstart.md rendering error
687 translations/pt-BR/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md rendering error
688 translations/pt-BR/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md rendering error
689 translations/pt-BR/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md rendering error
690 translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md rendering error
691 translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md rendering error
692 translations/pt-BR/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md rendering error
722 translations/pt-BR/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md rendering error
723 translations/pt-BR/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md rendering error
724 translations/pt-BR/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md rendering error
725 translations/pt-BR/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md rendering error
726 translations/pt-BR/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md rendering error
727 translations/pt-BR/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md rendering error
728 translations/pt-BR/content/organizations/managing-organization-settings/deleting-an-organization-account.md rendering error
729 translations/pt-BR/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md rendering error
730 translations/pt-BR/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md rendering error
731 translations/pt-BR/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md rendering error
732 translations/pt-BR/content/organizations/managing-organization-settings/renaming-an-organization.md rendering error
733 translations/pt-BR/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md rendering error
734 translations/pt-BR/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md rendering error
735 translations/pt-BR/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md rendering error
736 translations/pt-BR/content/organizations/managing-organization-settings/transferring-organization-ownership.md rendering error
737 translations/pt-BR/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md rendering error
738 translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md rendering error
739 translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md rendering error
740 translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md rendering error
741 translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md rendering error
742 translations/pt-BR/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md rendering error
743 translations/pt-BR/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md rendering error
786 translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md rendering error
787 translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md rendering error
788 translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md rendering error
789 translations/pt-BR/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md rendering error
790 translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md rendering error
791 translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md rendering error
792 translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md rendering error
793 translations/pt-BR/content/pages/getting-started-with-github-pages/index.md rendering error
794 translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md rendering error
795 translations/pt-BR/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md rendering error
796 translations/pt-BR/content/pages/index.md rendering error
797 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md rendering error
798 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md rendering error
799 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md rendering error
800 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md rendering error
801 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/index.md rendering error
802 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md rendering error
803 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md rendering error
804 translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md rendering error
805 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/index.md rendering error
806 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md rendering error
807 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md rendering error
808 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md rendering error
809 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md rendering error
810 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md rendering error
811 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/getting-started/index.md rendering error
812 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md rendering error
813 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/adding-a-pull-request-to-the-merge-queue.md rendering error
814 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md rendering error
815 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md rendering error
816 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/index.md rendering error
817 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md rendering error
818 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md rendering error
820 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md rendering error
821 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md rendering error
822 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md rendering error
823 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md rendering error
824 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md rendering error
825 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md rendering error
826 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md rendering error
827 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md rendering error
828 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md rendering error
829 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md rendering error
830 translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/index.md rendering error
880 translations/pt-BR/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md rendering error
881 translations/pt-BR/content/repositories/working-with-files/using-files/navigating-code-on-github.md rendering error
882 translations/pt-BR/content/repositories/working-with-files/using-files/tracking-changes-in-a-file.md rendering error
883 translations/pt-BR/content/rest/guides/best-practices-for-integrators.md rendering error
884 translations/pt-BR/content/rest/guides/building-a-ci-server.md rendering error
885 translations/pt-BR/content/rest/guides/delivering-deployments.md rendering error
886 translations/pt-BR/content/rest/guides/discovering-resources-for-a-user.md rendering error
887 translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md rendering error
888 translations/pt-BR/content/rest/guides/index.md rendering error
889 translations/pt-BR/content/rest/guides/rendering-data-as-graphs.md rendering error
890 translations/pt-BR/content/rest/guides/traversing-with-pagination.md rendering error
891 translations/pt-BR/content/rest/guides/working-with-comments.md rendering error
892 translations/pt-BR/content/rest/index.md rendering error
893 translations/pt-BR/content/rest/overview/api-previews.md rendering error
894 translations/pt-BR/content/rest/overview/libraries.md rendering error
895 translations/pt-BR/content/rest/overview/resources-in-the-rest-api.md rendering error
896 translations/pt-BR/content/rest/reference/actions.md rendering error
897 translations/pt-BR/content/rest/reference/activity.md rendering error
898 translations/pt-BR/content/rest/reference/branches.md rendering error
904 translations/pt-BR/content/rest/reference/gists.md Listed in localization-support#489
905 translations/pt-BR/content/rest/reference/gists.md rendering error
906 translations/pt-BR/content/rest/reference/index.md rendering error
907 translations/pt-BR/content/rest/reference/orgs.md rendering error
908 translations/pt-BR/content/rest/reference/packages.md rendering error
909 translations/pt-BR/content/rest/reference/pages.md rendering error
910 translations/pt-BR/content/rest/reference/permissions-required-for-github-apps.md rendering error
919 translations/pt-BR/content/rest/reference/webhooks.md rendering error
920 translations/pt-BR/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md rendering error
921 translations/pt-BR/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md rendering error
922 translations/pt-BR/content/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md rendering error
923 translations/pt-BR/content/search-github/index.md rendering error
924 translations/pt-BR/content/search-github/searching-on-github/searching-commits.md rendering error
925 translations/pt-BR/content/search-github/searching-on-github/searching-discussions.md rendering error
926 translations/pt-BR/content/search-github/searching-on-github/searching-for-repositories.md rendering error

View File

@@ -6,7 +6,7 @@ redirect_from:
- /github/automating-your-workflow-with-github-actions/building-actions
- /actions/automating-your-workflow-with-github-actions/building-actions
- /actions/building-actions
- /articles/creating-a-github-action/
- /articles/creating-a-github-action
versions:
fpt: '*'
ghes: '*'

View File

@@ -0,0 +1,153 @@
---
title: Deploying Docker to Azure App Service
intro: You can deploy a Docker container to Azure App Service as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Containers
- Docker
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Docker container to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
1. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--deployment-container-image-name nginx:latest
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
1. Set registry credentials for your web app.
Create a personal access token with the `repo` and `read:packages` scopes. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)."
Set `DOCKER_REGISTRY_SERVER_URL` to `https://ghcr.io`, `DOCKER_REGISTRY_SERVER_USERNAME` to the GitHub username or organization that owns the repository, and `DOCKER_REGISTRY_SERVER_PASSWORD` to your personal access token from above. This will give your web app credentials so it can pull the container image after your workflow pushes a newly built image to the registry. You can do this with the following Azure CLI command:
```shell
az webapp config appsettings set \
--name MY_WEBAPP_NAME \
--resource-group MY_RESOURCE_GROUP \
--settings DOCKER_REGISTRY_SERVER_URL=https://ghcr.io DOCKER_REGISTRY_SERVER_USERNAME=MY_REPOSITORY_OWNER DOCKER_REGISTRY_SERVER_PASSWORD=MY_PERSONAL_ACCESS_TOKEN
```
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a Docker container to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy a container to an Azure Web App
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
on:
push:
branches:
- main
permissions:
contents: 'read'
packages: 'write'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to GitHub container registry
uses: docker/login-action@v1.10.0
with:
registry: ghcr.io
username: {% raw %}${{ github.actor }}{% endraw %}
password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
- name: Lowercase the repo name
run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV}
- name: Build and push container image to registry
uses: docker/build-push-action@v2
with:
push: true
tags: ghcr.io/{% raw %}${{ env.REPO }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}
file: ./Dockerfile
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Lowercase the repo name
run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV}
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
images: 'ghcr.io/{% raw %}${{ env.REPO }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}'
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-container-webapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-container-webapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,134 @@
---
title: Deploying Java to Azure App Service
intro: You can deploy your Java project to Azure App Service as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Java
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Java project to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
1. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app with a Java runtime:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--runtime "JAVA|11-java11"
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
1. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a Java project to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If you want to use a Java version other than `11`, change `JAVA_VERSION`.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy JAR app to Azure Web App
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
JAVA_VERSION: '11' # set this to the Java version to use
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Java version
uses: actions/setup-java@v2.3.1
with:
java-version: {% raw %}${{ env.JAVA_VERSION }}{% endraw %}
cache: 'maven'
- name: Build with Maven
run: mvn clean install
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: java-app
path: '{% raw %}${{ github.workspace }}{% endraw %}/target/*.jar'
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: java-app
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
package: '*.jar'
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-webapps-java-jar.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-java-jar.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,144 @@
---
title: Deploying .NET to Azure App Service
intro: You can deploy your .NET project to Azure App Service as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a .NET project to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
2. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app with a .NET runtime:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--runtime "DOTNET|5.0"
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a .NET project to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH`. If you use a version of .NET other than `5`, change `DOTNET_VERSION`.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy ASP.Net Core app to an Azure Web App
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
DOTNET_VERSION: '5' # set this to the .NET Core version to use
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: {% raw %}${{ env.DOTNET_VERSION }}{% endraw %}
- name: Set up dependency caching for faster builds
uses: actions/cache@v2
with:
path: ~/.nuget/packages
key: {% raw %}${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}{% endraw %}
restore-keys: |
{% raw %}${{ runner.os }}-nuget-{% endraw %}
- name: Build with dotnet
run: dotnet build --configuration Release
- name: dotnet publish
run: dotnet publish -c Release -o {% raw %}${{env.DOTNET_ROOT}}{% endraw %}/myapp
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: .net-app
path: {% raw %}${{env.DOTNET_ROOT}}{% endraw %}/myapp
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: .net-app
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %}
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-webapps-dotnet-core.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-dotnet-core.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,141 @@
---
title: Deploying Node.js to Azure App Service
intro: You can deploy your Node.js project to Azure App Service as part of your continuous deployment (CD) workflows.
redirect_from:
- /actions/guides/deploying-to-azure-app-service
- /actions/deployment/deploying-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure-app-service
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Node
- JavaScript
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build, test, and deploy a Node.js project to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
2. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app with a Node.js runtime:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--runtime "NODE|14-lts"
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH` to your project path. If you use a version of Node.js other than `10.x`, change `NODE_VERSION` to the version that you use.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
on:
push:
branches:
- main
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
NODE_VERSION: '14.x' # set this to the node version to use
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: {% raw %}${{ env.NODE_VERSION }}{% endraw %}
cache: 'npm'
- name: npm install, build, and test
run: |
npm install
npm run build --if-present
npm run test --if-present
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: node-app
path: .
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: node-app
- name: 'Deploy to Azure WebApp'
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %}
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-webapps-node.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-node.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the
[actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.
* The "[Create a Node.js web app in Azure](https://docs.microsoft.com/azure/app-service/quickstart-nodejs)" quickstart in the Azure web app documentation demonstrates using VS Code with the [Azure App Service extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice).

View File

@@ -0,0 +1,155 @@
---
title: Deploying PHP to Azure App Service
intro: You can deploy your PHP project to Azure App Service as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a PHP project to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
2. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app with a PHP runtime:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--runtime "php|7.4"
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a PHP project to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH` to the path to your project. If you use a version of PHP other than `8.x`, change`PHP_VERSION` to the version that you use.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy PHP app to Azure Web App
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
PHP_VERSION: '8.x' # set this to the PHP version to use
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: {% raw %}${{ env.PHP_VERSION }}{% endraw %}
- name: Check if composer.json exists
id: check_files
uses: andstor/file-existence-action@v1
with:
files: 'composer.json'
- name: Get Composer Cache Directory
id: composer-cache
if: steps.check_files.outputs.files_exists == 'true'
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Set up dependency caching for faster installs
uses: actions/cache@v2
if: steps.check_files.outputs.files_exists == 'true'
with:
path: {% raw %}${{ steps.composer-cache.outputs.dir }}{% endraw %}
key: {% raw %}${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}{% endraw %}
restore-keys: |
{% raw %}${{ runner.os }}-composer-{% endraw %}
- name: Run composer install if composer.json exists
if: steps.check_files.outputs.files_exists == 'true'
run: composer validate --no-check-publish && composer install --prefer-dist --no-progress
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: php-app
path: .
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: php-app
- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
package: .
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-webapps-php.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-php.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,151 @@
---
title: Deploying Python to Azure App Service
intro: You can deploy your Python project to Azure App Service as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Python
- Azure App Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Python project to [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
{% data reusables.actions.create-azure-app-plan %}
1. Create a web app.
For example, you can use the Azure CLI to create an Azure App Service web app with a Python runtime:
```bash{:copy}
az webapp create \
--name MY_WEBAPP_NAME \
--plan MY_APP_SERVICE_PLAN \
--resource-group MY_RESOURCE_GROUP \
--runtime "python|3.8"
```
In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app.
{% data reusables.actions.create-azure-publish-profile %}
1. Add an app setting called `SCM_DO_BUILD_DURING_DEPLOYMENT` and set the value to `1`.
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
{% endif %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a Python project to Azure App Service when there is a push to the `main` branch.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If you use a version of Python other than `3.8`, change `PYTHON_VERSION` to the version that you use.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy Python app to Azure Web App
env:
AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name
PYTHON_VERSION: '3.8' # set this to the Python version to use
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python version
uses: actions/setup-python@v2.2.2
with:
python-version: {% raw %}${{ env.PYTHON_VERSION }}{% endraw %}
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Set up dependency caching for faster installs
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: {% raw %}${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}{% endraw %}
restore-keys: |
{% raw %}${{ runner.os }}-pip-{% endraw %}
- name: Install dependencies
run: pip install -r requirements.txt
# Optional: Add a step to run tests here (PyTest, Django test suites, etc.)
- name: Upload artifact for deployment jobs
uses: actions/upload-artifact@v2
with:
name: python-app
path: |
.
!venv/
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: python-app
path: .
- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %}
publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %}
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-webapps-python.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-python.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,126 @@
---
title: Deploying to Azure Kubernetes Service
intro: You can deploy your project to Azure Kubernetes Service (AKS) as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Azure Kubernetes Service
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a project to [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
1. Create a target AKS cluster and an Azure Container Registry (ACR). For more information, see "[Quickstart: Deploy an AKS cluster by using the Azure portal - Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/kubernetes-walkthrough-portal)" and "[Quickstart - Create registry in portal - Azure Container Registry](https://docs.microsoft.com/azure/container-registry/container-registry-get-started-portal)" in the Azure documentation.
1. Create a secret called `AZURE_CREDENTIALS` to store your Azure credentials. For more information about how to find this information and structure the secret, see [the `Azure/login` action documentation](https://github.com/Azure/login#configure-a-service-principal-with-a-secret).
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy a project to Azure Kubernetes Service when code is pushed to your repository.
Under the workflow `env` key, change the the following values:
- `AZURE_CONTAINER_REGISTRY` to the name of your container registry
- `PROJECT_NAME` to the name of your project
- `RESOURCE_GROUP` to the resource group containing your AKS cluster
- `CLUSTER_NAME` to the name of your AKS cluster
This workflow uses the `helm` render engine for the [`azure/k8s-bake` action](https://github.com/Azure/k8s-bake). If you will use the `helm` render engine, change the value of `CHART_PATH` to the path to your helm file. Change `CHART_OVERRIDE_PATH` to an array of override file paths. If you use a different render engine, update the input parameters sent to the `azure/k8s-bake` action.
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Build and deploy to Azure Kubernetes Service
env:
AZURE_CONTAINER_REGISTRY: MY_REGISTRY_NAME # set this to the name of your container registry
PROJECT_NAME: MY_PROJECT_NAME # set this to your project's name
RESOURCE_GROUP: MY_RESOURCE_GROUP # set this to the resource group containing your AKS cluster
CLUSTER_NAME: MY_CLUSTER_NAME # set this to the name of your AKS cluster
REGISTRY_URL: MY_REGISTRY_URL # set this to the URL of your registry
# If you bake using helm:
CHART_PATH: MY_HELM_FILE # set this to the path to your helm file
CHART_OVERRIDE_PATH: MY_OVERRIDE_FILES # set this to an array of override file paths
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Azure Login
uses: azure/login@89d153571fe9a34ed70fcf9f1d95ab8debea7a73
with:
creds: {% raw %}${{ secrets.AZURE_CREDENTIALS }}{% endraw %}
- name: Build image on ACR
uses: azure/CLI@7378ce2ca3c38b4b063feb7a4cbe384fef978055
with:
azcliversion: 2.29.1
inlineScript: |
az configure --defaults acr={% raw %}${{ env.AZURE_CONTAINER_REGISTRY }}{% endraw %}
az acr build -t -t {% raw %}${{ env.REGISTRY_URL }}{% endraw %}/{% raw %}${{ env.PROJECT_NAME }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}
- name: Gets K8s context
uses: azure/aks-set-context@4e5aec273183a197b181314721843e047123d9fa
with:
creds: {% raw %}${{ secrets.AZURE_CREDENTIALS }}{% endraw %}
resource-group: {% raw %}${{ env.RESOURCE_GROUP }}{% endraw %}
cluster-name: {% raw %}${{ env.CLUSTER_NAME }}{% endraw %}
id: login
- name: Configure deployment
uses: azure/k8s-bake@773b6144a3732e3bf4c78b146a0bb9617b2e016b
with:
renderEngine: 'helm'
helmChart: {% raw %}${{ env.CHART_PATH }}{% endraw %}
overrideFiles: {% raw %}${{ env.CHART_OVERRIDE_PATH }}{% endraw %}
overrides: |
replicas:2
helm-version: 'latest'
id: bake
- name: Deploys application
- uses: Azure/k8s-deploy@c8fbd76ededaad2799c054a9fd5d0fa5d4e9aee4
with:
manifests: {% raw %}${{ steps.bake.outputs.manifestsBundle }}{% endraw %}
images: |
{% raw %}${{ env.AZURE_CONTAINER_REGISTRY }}{% endraw %}.azurecr.io/{% raw %}${{ env.PROJECT_NAME }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}
imagepullsecrets: |
{% raw %}${{ env.PROJECT_NAME }}{% endraw %}
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-kubernetes-service.yml `](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The actions used to in this workflow are the official Azure [`Azure/login`](https://github.com/Azure/login),[`Azure/aks-set-context`](https://github.com/Azure/aks-set-context), [`Azure/CLI`](https://github.com/Azure/CLI), [`Azure/k8s-bake`](https://github.com/Azure/k8s-bake), and [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy)actions.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,113 @@
---
title: Deploying to Azure Static Web App
intro: You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
type: tutorial
topics:
- CD
- Azure Static Web Apps
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a web app to [Azure Static Web Apps](https://azure.microsoft.com/services/app-service/static/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% note %}
**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)."
{% endnote %}
{% endif %}
## Prerequisites
Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps:
1. Create an Azure Static Web App using the 'Other' option for deployment source. For more information, see "[Quickstart: Building your first static site in the Azure portal](https://docs.microsoft.com/azure/static-web-apps/get-started-portal)" in the Azure documentation.
2. Create a secret called `AZURE_STATIC_WEB_APPS_API_TOKEN` with the value of your static web app deployment token. For more information about how to find your deployment token, see "[Reset deployment tokens in Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/deployment-token-management)" in the Azure documentation.
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy an Azure static web app when there is a push to the `main` branch or when a pull request targeting `main` is opened, synchronized, or reopened. The workflow also tears down the corresponding pre-production deployment when a pull request targeting `main` is closed.
Under the workflow `env` key, change the following values:
- `APP_LOCATION` to the location of your client code
- `API_LOCATION` to the location of your API source code. If `API_LOCATION` is not relevant, you can delete the variable and the lines where it is used.
- `APP_ARTIFACT_LOCATION` to the location of your client code build output
For more information about these values, see "[Build configuration for Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/build-configuration?tabs=github-actions)" in the Azure documentation.
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
name: Deploy web app to Azure Static Web Apps
env:
APP_LOCATION: "/" # location of your client code
API_LOCATION: "api" # location of your api source code - optional
APP_ARTIFACT_LOCATION: "build" # location of client code build output
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- main
permissions:
issues: write
jobs:
build_and_deploy:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build And Deploy
uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
with:
azure_static_web_apps_api_token: {% raw %}${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}{% endraw %}
repo_token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
action: "upload"
app_location: {% raw %}${{ env.APP_LOCATION }}{% endraw %}
api_location: {% raw %}${{ env.API_LOCATION }}{% endraw %}
app_artifact_location: {% raw %}${{ env.APP_ARTIFACT_LOCATION }}{% endraw %}
close:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close
steps:
- name: Close
uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
with:
azure_static_web_apps_api_token: {% raw %}${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}{% endraw %}
action: "close"
```
## Additional resources
The following resources may also be useful:
* For the original starter workflow, see [`azure-staticwebapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/static-web-apps-deploy`](https://github.com/Azure/static-web-apps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.

View File

@@ -0,0 +1,19 @@
---
title: Deploying to Azure
shortTitle: Deploy to Azure
intro: Learn how to deploy to Azure App Service, Azure Kubernetes, and Azure Static Web App as part of your continuous deployment (CD) workflows.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
children:
- /deploying-nodejs-to-azure-app-service
- /deploying-python-to-azure-app-service
- /deploying-java-to-azure-app-service
- /deploying-net-to-azure-app-service
- /deploying-php-to-azure-app-service
- /deploying-docker-to-azure-app-service
- /deploying-to-azure-static-web-app
- /deploying-to-azure-kubernetes-service
---

View File

@@ -1,14 +1,13 @@
---
title: Fazendo a implantação no seu provedor de nuvem
shortTitle: Fazendo a implantação no seu provedor de nuvem
intro: 'Você pode fazer a implantação em vários provedores de nuvem como, por exemplo, AWS, Azure e GKE.'
title: Deploying to your cloud provider
shortTitle: Deploying to your cloud provider
intro: 'You can deploy to various cloud providers, such as AWS, Azure, and GKE.'
versions:
fpt: '*'
ghae: issue-4856
ghae: 'issue-4856'
ghec: '*'
children:
- /deploying-to-amazon-elastic-container-service
- /deploying-to-azure-app-service
- /deploying-to-azure
- /deploying-to-google-kubernetes-engine
---

View File

@@ -43,7 +43,6 @@ includeGuides:
- /actions/using-containerized-services/creating-redis-service-containers
- /actions/using-containerized-services/creating-postgresql-service-containers
- /actions/deployment/deploying-to-amazon-elastic-container-service
- /actions/deployment/deploying-to-azure-app-service
- /actions/deployment/deploying-to-google-kubernetes-engine
- /actions/learn-github-actions/essential-features-of-github-actions
- /actions/security-guides/security-hardening-for-github-actions
@@ -64,5 +63,13 @@ includeGuides:
- /actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app
- /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service
---

View File

@@ -30,10 +30,10 @@ changelog:
examples_source: data/product-examples/actions/code-examples.yml
product_video: 'https://www.youtube-nocookie.com/embed/cP0I9w2coGU'
redirect_from:
- /articles/automating-your-workflow-with-github-actions/
- /articles/customizing-your-project-with-github-actions/
- /articles/automating-your-workflow-with-github-actions
- /articles/customizing-your-project-with-github-actions
- /github/automating-your-workflow-with-github-actions
- /actions/automating-your-workflow-with-github-actions/
- /actions/automating-your-workflow-with-github-actions
- /categories/automating-your-workflow-with-github-actions
- /marketplace/actions
- /actions/reference

View File

@@ -221,7 +221,7 @@ The following table indicates where each context and special function can be use
| Path | Context | Special functions |
| ---- | ------- | ----------------- |
| <code>concurrency</code> | <code>github</code> | |
| <code>concurrency</code> | <code>github, inputs</code> | |
| <code>env</code> | <code>github, secrets, inputs</code> | |
| <code>jobs.&lt;job_id&gt;.concurrency</code> | <code>github, needs, strategy, matrix, inputs</code> | |
| <code>jobs.&lt;job_id&gt;.container</code> | <code>github, needs, strategy, matrix, inputs</code> | |

View File

@@ -11,7 +11,7 @@ redirect_from:
- /actions/getting-started-with-github-actions/overview
- /actions/getting-started-with-github-actions/getting-started-with-github-actions
- /actions/configuring-and-managing-workflows/configuring-a-workflow
- /articles/creating-a-workflow-with-github-actions/
- /articles/creating-a-workflow-with-github-actions
- /articles/configuring-a-workflow
- /github/automating-your-workflow-with-github-actions/configuring-a-workflow
- /actions/automating-your-workflow-with-github-actions/configuring-a-workflow

View File

@@ -18,9 +18,9 @@ topics:
## Overview
Rather than copying and pasting from one workflow to another, you can make workflows reusable. You and anyone with access to the reusable workflow can then call the reusable workflow from another workflow.
Rather than copying and pasting from one workflow to another, you can make workflows reusable. You and anyone with access to the reusable workflow can then call the reusable workflow from another workflow.
Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proved to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained.
Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proved to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained.
The diagram below shows three build jobs on the left of the diagram. After each of these jobs completes successfully a dependent job called "Deploy" runs. This job calls a reusable workflow that contains three jobs: "Staging", "Review", and "Production." The "Production" deployment job only runs after the "Staging" job has completed successfully. Using a reusable workflow to run deployment jobs allows you to run those jobs for each build without duplicating code in workflows.
@@ -67,7 +67,6 @@ Called workflows can access self-hosted runners from caller's context. This mean
* Reusable workflows can't call other reusable workflows.
* Reusable workflows stored within a private repository can only be used by workflows within the same repository.
* Any environment variables set in an `env` context defined at the workflow level in the caller workflow are not propagated to the called workflow. For more information about the `env` context, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#env-context)."
* You can't set the concurrency of a called workflow from the caller workflow. For more information about `jobs.<job_id>.concurrency`, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idconcurrency)."
* The `strategy` property is not supported in any job that calls a reusable workflow.
## Creating a reusable workflow
@@ -77,13 +76,13 @@ Reusable workflows are YAML-formatted files, very similar to any other workflow
For a workflow to be reusable, the values for `on` must include `workflow_call`:
```yaml
on:
on:
workflow_call:
```
### Using inputs and secrets in a reusable workflow
You can define inputs and secrets, which can be passed from the caller workflow and then used within the called workflow. There are three stages to using an input or a secret in a reusable workflow.
You can define inputs and secrets, which can be passed from the caller workflow and then used within the called workflow. There are three stages to using an input or a secret in a reusable workflow.
1. In the reusable workflow, use the `inputs` and `secrets` keywords to define inputs or secrets that will be passed from a caller workflow.
{% raw %}
@@ -112,10 +111,10 @@ You can define inputs and secrets, which can be passed from the caller workflow
- uses: ./.github/actions/my-action@v1
with:
username: ${{ inputs.username }}
token: ${{ secrets.envPAT }}
token: ${{ secrets.envPAT }}
```
{% endraw %}
In the example above, `envPAT` is an environment secret that's been added to the `production` environment. This environment is therefore referenced within the job.
In the example above, `envPAT` is an environment secret that's been added to the `production` environment. This environment is therefore referenced within the job.
{% note %}
@@ -153,7 +152,7 @@ jobs:
- uses: ./.github/actions/my-action@v1
with:
username: ${{ inputs.username }}
token: ${{ secrets.token }}
token: ${{ secrets.token }}
```
{% endraw %}
@@ -163,7 +162,7 @@ You call a reusable workflow by using the `uses` keyword. Unlike when you are us
[`jobs.<job_id>.uses`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_iduses)
You reference reusable workflow files using the syntax:
You reference reusable workflow files using the syntax:
`{owner}/{repo}/{path}/{filename}@{ref}`
@@ -191,7 +190,7 @@ When you call a reusable workflow, you can only use the following keywords in th
{% note %}
**Note:**
**Note:**
* If `jobs.<job_id>.permissions` is not specified in the calling job, the called workflow will have the default permissions for the `GITHUB_TOKEN`. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)."
* The `GITHUB_TOKEN` permissions passed from the caller workflow can be only downgraded (not elevated) by the called workflow.
@@ -226,7 +225,7 @@ jobs:
## Using outputs from a reusable workflow
A reusable workflow may generate data that you want to use in the caller workflow. To use these outputs, you must specify them as the outputs of the reusable workflow.
A reusable workflow may generate data that you want to use in the caller workflow. To use these outputs, you must specify them as the outputs of the reusable workflow.
The following reusable workflow has a single job containing two steps. In each of these steps we set a single word as the output: "hello" and "world." In the `outputs` section of the job, we map these step outputs to job outputs called: `output1` and `output2`. In the `on.workflow_call.outputs` section we then define two outputs for the workflow itself, one called `firstword` which we map to `output1`, and one called `secondword` which we map to `output2`.
@@ -243,12 +242,12 @@ on:
value: ${{ jobs.example_job.outputs.output1 }}
secondword:
description: "The second output string"
value: ${{ jobs.example_job.outputs.output2 }}
value: ${{ jobs.example_job.outputs.output2 }}
jobs:
example_job:
name: Generate output
runs-on: ubuntu-latest
runs-on: ubuntu-latest
# Map the job outputs to step outputs
outputs:
output1: ${{ steps.step1.outputs.firstword }}

View File

@@ -25,9 +25,9 @@ topics:
## About workflow templates
{% data variables.product.product_name %} offers workflow templates for a variety of languages and tooling. When you set up workflows in your repository, {% data variables.product.product_name %} analyzes the code in your repository and recommends workflows based on the language and framework in your repository. For example, if you use [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} will suggest a template file that installs your Node.js packages and runs your tests.
{% data variables.product.product_name %} offers workflow templates for a variety of languages and tooling. When you set up workflows in your repository, {% data variables.product.product_name %} analyzes the code in your repository and recommends workflows based on the language and framework in your repository. For example, if you use [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} will suggest a template file that installs your Node.js packages and runs your tests.{% if actions-starter-template-ui %} You can search and filter to find relevant workflow templates.{% endif %}
You can also create your own workflow templates to share with your organization. For more information, see "[Creating workflow templates](/actions/learn-github-actions/creating-workflow-templates)."
You can also create your own workflow templates to share with your organization. These templates will appear alongside the {% data variables.product.product_name %} workflow templates. For more information, see "[Creating workflow templates](/actions/learn-github-actions/creating-workflow-templates)."
## Using workflow templates
@@ -36,8 +36,8 @@ Anyone with write permission to a repository can set up {% data variables.produc
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.actions-tab %}
1. If you already have a workflow in your repository, click **New workflow**.
1. Find the template that you want to use, then click **Set up this workflow**.
1. If the workflow template contains comments detailing additional setup steps, follow these steps.
1. Find the template that you want to use, then click **Set up this workflow**.{% if actions-starter-template-ui %} To help you find the template that you want, you can search for keywords or filter by category.{% endif %}
1. If the workflow template contains comments detailing additional setup steps, follow these steps. Many of the templates have corresponding guides. For more information, see [the {% data variables.product.prodname_actions %} guides](/actions/guides)."
1. Some workflow templates use secrets. For example, {% raw %}`${{ secrets.npm_token }}`{% endraw %}. If the workflow template uses a secret, store the value described in the secret name as a secret in your repository. For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
1. Optionally, make additional changes. For example, you might want to change the value of `on` to change when the workflow runs.
1. Click **Start commit**.

View File

@@ -9,7 +9,7 @@ versions:
ghec: '*'
redirect_from:
- /actions/migrating-to-github-actions
- /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax/
- /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax
children:
- /migrating-from-azure-pipelines-to-github-actions
- /migrating-from-circleci-to-github-actions

View File

@@ -71,6 +71,15 @@ These attributes are available. You can change the attribute names in the [manag
| `public_keys` | Optional | The public SSH keys for the user. More than one can be specified. |
| `gpg_keys` | Optional | The GPG keys for the user. More than one can be specified. |
To specify more than one value for an attribute, use multiple `<saml2:AttributeValue>` elements.
```
<saml2:Attribute FriendlyName="public_keys" Name="urn:oid:1.2.840.113549.1.1.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>ssh-rsa LONG KEY</saml2:AttributeValue>
<saml2:AttributeValue>ssh-rsa LONG KEY 2</saml2:AttributeValue>
</saml2:Attribute>
```
## Configuring SAML settings
{% data reusables.enterprise_site_admin_settings.access-settings %}

View File

@@ -31,6 +31,8 @@ Because client connections to {% data variables.product.prodname_ghe_server %} c
{% data reusables.enterprise_clustering.proxy_xff_firewall_warning %}
{% data reusables.enterprise_installation.terminating-tls %}
### Enabling PROXY protocol support on {% data variables.product.product_location %}
We strongly recommend enabling PROXY protocol support for both your appliance and the load balancer. Use the instructions provided by your vendor to enable the PROXY protocol on your load balancer. For more information, see [the PROXY protocol documentation](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt).
@@ -50,8 +52,6 @@ We strongly recommend enabling PROXY protocol support for both your appliance an
{% data reusables.enterprise_clustering.x-forwarded-for %}
{% data reusables.enterprise_installation.terminating-tls %}
{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.management-console %}
{% data reusables.enterprise_management_console.privacy %}

View File

@@ -56,8 +56,8 @@ If you need to get information on the users, organizations, and repositories in
Specifically, you can download CSV reports that list
- all users
- all users who have been active within the last month
- all users who have been inactive for one month or more
- all active users
- all [dormant users](/admin/user-management/managing-dormant-users)
- all users who have been suspended
- all organizations
- all repositories

View File

@@ -10,7 +10,6 @@ redirect_from:
- /enterprise/admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud
- /admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud
- /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud
permissions: 'Enterprise owners who are also owners of a {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable {% data variables.product.prodname_github_connect %}.'
versions:
ghes: '*'
ghae: '*'
@@ -60,6 +59,12 @@ Enabling {% data variables.product.prodname_github_connect %} will not allow {%
For more information about managing enterprise accounts using the GraphQL API, see "[Enterprise accounts](/graphql/guides/managing-enterprise-accounts)."
## Enabling {% data variables.product.prodname_github_connect %}
Enterprise owners who are also owners of an organization or enterprise account that uses {% data variables.product.prodname_ghe_cloud %} can enable {% data variables.product.prodname_github_connect %}.
If you're connecting {% data variables.product.product_location %} to an organization on {% data variables.product.prodname_dotcom_the_website %} that is not owned by an enterprise account, you must enable {% data variables.product.prodname_github_connect %} with a personal account on {% data variables.product.prodname_dotcom_the_website %} that is an owner of the organization.
If you're connecting {% data variables.product.product_location %} to an organization on {% data variables.product.prodname_dotcom_the_website %} that is owned by an enterprise account or to an enterprise account itself, you must enable {% data variables.product.prodname_github_connect %} with a personal account on {% data variables.product.prodname_dotcom_the_website %} that is an owner of the enterprise account.
{% ifversion ghes %}
1. Sign in to {% data variables.product.product_location %} and {% data variables.product.prodname_dotcom_the_website %}.
{% data reusables.enterprise-accounts.access-enterprise %}{% ifversion ghes < 3.1 %}{% data reusables.enterprise-accounts.settings-tab %}{% endif %}{% data reusables.enterprise-accounts.github-connect-tab %}{% else %}
@@ -73,7 +78,9 @@ For more information about managing enterprise accounts using the GraphQL API, s
1. Next to the enterprise account or organization you'd like to connect, click **Connect**.
![Connect button next to an enterprise account or business](/assets/images/enterprise/business-accounts/choose-enterprise-or-org-connect.png)
## Disconnecting a {% data variables.product.prodname_ghe_cloud %} organization or enterprise account from your enterprise account
## Disabling {% data variables.product.prodname_github_connect %}
Enterprise owners can disable {% data variables.product.prodname_github_connect %}.
When you disconnect from {% data variables.product.prodname_ghe_cloud %}, the {% data variables.product.prodname_github_connect %} {% data variables.product.prodname_github_app %} is deleted from your enterprise account or organization and credentials stored on {% data variables.product.product_location %} are deleted.

View File

@@ -37,6 +37,8 @@ For more information about these features, see "[About the dependency graph](/gi
You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %} with {% data variables.product.prodname_github_connect %}. Once connected, vulnerability data is synced from the {% data variables.product.prodname_advisory_database %} to your instance once every hour. You can also choose to manually sync vulnerability data at any time. No code or information about code from {% data variables.product.product_location %} is uploaded to {% data variables.product.prodname_dotcom_the_website %}.
Only {% data variables.product.company_short %}-reviewed advisories are synchronized. {% data reusables.security-advisory.link-browsing-advisory-db %}
### About generation of {% data variables.product.prodname_dependabot_alerts %}
If you enable vulnerability detection, when {% data variables.product.product_location %} receives information about a vulnerability, it identifies repositories in your instance that use the affected version of the dependency and generates {% data variables.product.prodname_dependabot_alerts %}. You can choose whether or not to notify users automatically about new {% data variables.product.prodname_dependabot_alerts %}.

View File

@@ -1,7 +1,7 @@
---
title: Fazer backup e restaurar o GitHub Enterprise Server com o GitHub Actions habilitado
shortTitle: Backup e restauração
intro: 'Os dados de {% data variables.product.prodname_actions %} no seu provedor de armazenamento externo não estão incluídos em backups regulares de {% data variables.product.prodname_ghe_server %} e precisam ser salvos separadamente.'
title: Backing up and restoring GitHub Enterprise Server with GitHub Actions enabled
shortTitle: Backing up and restoring
intro: '{% data variables.product.prodname_actions %} data on your external storage provider is not included in regular {% data variables.product.prodname_ghe_server %} backups, and must be backed up separately.'
versions:
ghes: '*'
type: how_to
@@ -13,18 +13,43 @@ topics:
redirect_from:
- /admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled
---
{% data reusables.actions.enterprise-storage-ha-backups %}
Se você usar {% data variables.product.prodname_enterprise_backup_utilities %} para fazer backup de {% data variables.product.product_location %}, é importante observar que os dados de {% data variables.product.prodname_actions %} armazenados no seu provedor de armazenamento externo não serão incluídos no backup.
If you use {% data variables.product.prodname_enterprise_backup_utilities %} to back up {% data variables.product.product_location %}, it's important to note that {% data variables.product.prodname_actions %} data stored on your external storage provider is not included in the backup.
Esta é uma visão geral das etapas necessárias para restaurar {% data variables.product.product_location %} com {% data variables.product.prodname_actions %} para um novo dispositivo:
This is an overview of the steps required to restore {% data variables.product.product_location %} with {% data variables.product.prodname_actions %} to a new appliance:
1. Confirme se o dispositivo original está off-line.
1. Defina manualmente as configurações de rede no dispositivo de {% data variables.product.prodname_ghe_server %}. As configurações de rede são excluídas do instantâneo de backup e não são substituídas por `ghe-restore`.
1. Configurar o dispositivo de substituição para usar a mesma configuração de armazenamento externo de {% data variables.product.prodname_actions %} do dispositivo original.
1. Habilite {% data variables.product.prodname_actions %} no dispositivo de substituição. Isto conectará o dispositivo de substituição ao mesmo armazenamento externo para {% data variables.product.prodname_actions %}.
1. Depois que {% data variables.product.prodname_actions %} estiver configurado com o provedor de armazenamento externo, use o comando `ghe-restore` para restaurar o restante dos dados do backup. Para obter mais informações, consulte "[Restaurar um backup](/admin/configuration/configuring-backups-on-your-appliance#restoring-a-backup)".
1. Registre novamente seus executores auto-hospedados no dispositivo de substituição. Para obter mais informações, consulte [Adicionar executores auto-hospedados](/actions/hosting-your-own-runners/adding-self-hosted-runners).
1. Confirm that the original appliance is offline.
1. Manually configure network settings on the replacement {% data variables.product.prodname_ghe_server %} appliance. Network settings are excluded from the backup snapshot, and are not overwritten by `ghe-restore`.
1. To configure the replacement appliance to use the same {% data variables.product.prodname_actions %} external storage configuration as the original appliance, from the new appliance, set the required parameters with `ghe-config` command.
- Azure Blob Storage
```shell
ghe-config secrets.actions.storage.blob-provider "azure"
ghe-config secrets.actions.storage.azure.connection-string "_Connection_String_"
```
- Amazon S3
```shell
ghe-config secrets.actions.storage.blob-provider "s3"
ghe-config secrets.actions.storage.s3.bucket-name "_S3_Bucket_Name"
ghe-config secrets.actions.storage.s3.service-url "_S3_Service_URL_"
ghe-config secrets.actions.storage.s3.access-key-id "_S3_Access_Key_ID_"
ghe-config secrets.actions.storage.s3.access-secret "_S3_Access_Secret_"
```
- Optionally, to enable S3 force path style, enter the following command:
```shell
ghe-config secrets.actions.storage.s3.force-path-style true
```
Para obter mais informações sobre backup e restauração de {% data variables.product.prodname_ghe_server %}, consulte "[Configurar backups no seu dispositivo](/admin/configuration/configuring-backups-on-your-appliance)".
1. Enable {% data variables.product.prodname_actions %} on the replacement appliance. This will connect the replacement appliance to the same external storage for {% data variables.product.prodname_actions %}.
```shell
ghe-config app.actions.enabled true
ghe-config-apply
```
1. After {% data variables.product.prodname_actions %} is configured and enabled, use the `ghe-restore` command to restore the rest of the data from the backup. For more information, see "[Restoring a backup](/admin/configuration/configuring-backups-on-your-appliance#restoring-a-backup)."
1. Re-register your self-hosted runners on the replacement appliance. For more information, see [Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners).
For more information on backing up and restoring {% data variables.product.prodname_ghe_server %}, see "[Configuring backups on your appliance](/admin/configuration/configuring-backups-on-your-appliance)."

View File

@@ -62,7 +62,7 @@ Before launching {% data variables.product.product_location %} on Azure, you'll
{% data reusables.enterprise_installation.necessary_ports %}
4. Create and attach a new unencrypted data disk to the VM, and configure the size based on your user license count. For more information, see "[az vm disk attach](https://docs.microsoft.com/cli/azure/vm/disk?view=azure-cli-latest#az_vm_disk_attach)" in the Microsoft documentation.
4. Create and attach a new managed data disk to the VM, and configure the size based on your license count. All Azure managed disks created since June 10, 2017 are encrypted at rest by default with Storage Service Encryption (SSE). For more information about the `az vm disk attach` command, see "[az vm disk attach](https://docs.microsoft.com/cli/azure/vm/disk?view=azure-cli-latest#az_vm_disk_attach)" in the Microsoft documentation.
Pass in options for the name of your VM (for example, `ghe-acme-corp`), the resource group, the premium storage SKU, the size of the disk (for example, `100`), and a name for the resulting VHD.

View File

@@ -1,6 +1,6 @@
---
title: Sobre o GitHub AE
intro: '{% data variables.product.prodname_ghe_managed %} é uma forma de segurança aprimorada e compatível de usar {% data variables.product.prodname_dotcom %} na nuvem.'
title: About GitHub AE
intro: '{% data variables.product.prodname_ghe_managed %} is a security-enhanced and compliant way to use {% data variables.product.prodname_dotcom %} in the cloud.'
versions:
ghae: '*'
type: overview
@@ -9,32 +9,33 @@ topics:
- Fundamentals
---
## Sobre o {% data variables.product.prodname_ghe_managed %}
## About {% data variables.product.prodname_ghe_managed %}
{% data reusables.github-ae.github-ae-enables-you %} {% data variables.product.prodname_ghe_managed %} é totalmente gerenciada, confiável e escalável, o que permite que você acelere a entrega sem sacrificar a gestão de risco.
{% data reusables.github-ae.github-ae-enables-you %} {% data variables.product.prodname_ghe_managed %} is fully managed, reliable, and scalable, allowing you to accelerate delivery without sacrificing risk management.
{% data variables.product.prodname_ghe_managed %} oferece uma plataforma de desenvolvedor da ideia à produção. Você pode aumentar a velocidade do desenvolvimento com as ferramentas que as equipes conhecem e gostam, ao mesmo tempo em que você mantém a conformidade com o setor e com os regulamentos com controles únicos de segurança e acesso, automação de fluxo de trabalho e aplicação da política.
{% data variables.product.prodname_ghe_managed %} offers one developer platform from idea to production. You can increase development velocity with the tools that teams know and love, while you maintain industry and regulatory compliance with unique security and access controls, workflow automation, and policy enforcement.
## Uma nuvem de alta disponibilidade e escala planetária
## A highly available and planet-scale cloud
{% data variables.product.prodname_ghe_managed %} é um serviço totalmente gerenciado, hospedado em uma arquitetura de alta disponibilidade. {% data variables.product.prodname_ghe_managed %} está hospedado globalmente em uma nuvem que pode ser escalada para ser compatível com todo o seu ciclo de vida de desenvolvimento sem limites. {% data variables.product.prodname_dotcom %} gerencia totalmente os backups, failover e recuperação de desastres para que você nunca tenha que se preocupar com o seu serviço ou dados.
{% data variables.product.prodname_ghe_managed %} is a fully managed service, hosted in a high availability architecture. {% data variables.product.prodname_ghe_managed %} is hosted globally in a cloud that can scale to support your full development lifecycle without limits. {% data variables.product.prodname_dotcom %} fully manages backups, failover, and disaster recovery, so you never need to worry about your service or data.
## Residência dos dados
## Data residency
Todos os seus dados são armazenados na região geográfica da sua escolha. Você pode cumprir os padrões de proteção de dados e o RGPD global mantendo todos os seus dados na sua região escolhida.
All of your data is stored within the geographic region of your choosing. You can comply with GDPR and global data protection standards by keeping all of your data within your chosen region.
## Contas isoladas
## Isolated accounts
Todas as contas de desenvolvedor são completamente isoladas em {% data variables.product.prodname_ghe_managed %}. Você pode controlar totalmente as contas por meio do seu provedor de identidade, com o logon único SAML como obrigatório. O SCIM permite que você garanta que os funcionários só têm acesso aos recursos que deveriam, conforme definido no seu sistema central de gestão de identidades. Para obter mais informações, consulte "[Gerenciar identidade e acesso para sua empresa](/admin/authentication/managing-identity-and-access-for-your-enterprise)".
All developer accounts are fully isolated in {% data variables.product.prodname_ghe_managed %}. You can fully control the accounts through your identity provider, with SAML single sign on as mandatory. SCIM enables you to ensure that employees only have access to the resources they should, as defined in your central identity management system. For more information, see "[Managing identity and access for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise)."
## Acesso restrito às redes
## Restricted network access
Acesso seguro à sua empresa em {% data variables.product.prodname_ghe_managed %} com acesso restrito à rede, para que seus dados possam ser acessados somente de dentro da sua rede. Para obter mais informações, consulte "[Restringir tráfego de rede para a sua empresa](/admin/configuration/restricting-network-traffic-to-your-enterprise)".
Secure access to your enterprise on {% data variables.product.prodname_ghe_managed %} with restricted network access, so that your data can only be accessed from within your network. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)."
## Ambientes comercial e governamental
## Commercial and government environments
{% data variables.product.prodname_ghe_managed %} está disponível na nuvem do Azure Government, na nuvem de confiança das agências governamentais dos EUA e seus parceiros. {% data variables.product.prodname_ghe_managed %} também está disponível na nuvem comercial. Portanto, você pode escolher o ambiente de hospedagem correto para a sua organização.
{% data variables.product.prodname_ghe_managed %} is available in the Azure Government cloud, the trusted cloud for US government agencies and their partners. {% data variables.product.prodname_ghe_managed %} is also available in the commercial cloud, so you can choose the hosting environment that is right for your organization.
## Leia mais
## Further reading
- "[Recebendo ajuda do suporte de {% data variables.product.company_short %}](/admin/enterprise-support/receiving-help-from-github-support)"
- "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)"
- "[Receiving help from {% data variables.product.company_short %} Support](/admin/enterprise-support/receiving-help-from-github-support)"

View File

@@ -35,8 +35,13 @@ When your code depends on a package that has a security vulnerability, this vuln
{% data variables.product.prodname_dependabot %} detects vulnerable dependencies and sends {% data variables.product.prodname_dependabot_alerts %} when:
{% ifversion fpt or ghec %}
- A new vulnerability is added to the {% data variables.product.prodname_advisory_database %}. For more information, see "[Browsing security vulnerabilities in the {% data variables.product.prodname_advisory_database %}](/github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database)" and "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)."{% else %}
- A new vulnerability is added to the {% data variables.product.prodname_advisory_database %}. For more information, see "[Browsing security vulnerabilities in the {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database)" and "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)."{% else %}
- New advisory data is synchronized to {% data variables.product.product_location %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %}
{% note %}
**Note:** Only advisories that have been reviewed by {% data variables.product.company_short %} will trigger {% data variables.product.prodname_dependabot_alerts %}.
{% endnote %}
- The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on{% ifversion fpt or ghec %}, or when the code of one of the dependencies changes{% endif %}. For more information, see "[About the dependency graph](/code-security/supply-chain-security/about-the-dependency-graph)."
{% data reusables.repositories.dependency-review %}

View File

@@ -1,7 +1,8 @@
---
title: Pesquisar vulnerabilidades de segurança no banco de dados de consultoria do GitHub
intro: 'O {% data variables.product.prodname_advisory_database %} permite que você pesquise vulnerabilidades que afetam projetos de código aberto no {% data variables.product.company_short %}.'
shortTitle: Procurar banco de dados consultivo
title: Browsing security vulnerabilities in the GitHub Advisory Database
intro: 'The {% data variables.product.prodname_advisory_database %} allows you to browse or search for vulnerabilities that affect open source projects on {% data variables.product.company_short %}.'
shortTitle: Browse Advisory Database
miniTocMaxHeadingLevel: 3
redirect_from:
- /github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database
- /code-security/supply-chain-security/browsing-security-vulnerabilities-in-the-github-advisory-database
@@ -16,78 +17,103 @@ topics:
- Vulnerabilities
- CVEs
---
<!--Marketing-LINK: From /features/security/software-supply-chain page "Browsing security vulnerabilities in the GitHub Advisory Database".-->
## Sobre vulnerabilidades de segurança
## About security vulnerabilities
{% data reusables.repositories.a-vulnerability-is %}
O {% data variables.product.product_name %} enviará {% data variables.product.prodname_dependabot_alerts %} se detectarmos que qualquer uma das vulnerabilidades do {% data variables.product.prodname_advisory_database %} afetam os pacotes dos quais seu repositório depende. Para obter mais informações, consulte "[Sobre alertas para dependências vulneráveis](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"
## About the {% data variables.product.prodname_advisory_database %}
## Sobre o {% data variables.product.prodname_advisory_database %}
The {% data variables.product.prodname_advisory_database %} contains a list of known security vulnerabilities, grouped in two categories: {% data variables.product.company_short %}-reviewed advisories and unreviewed advisories.
O {% data variables.product.prodname_advisory_database %} contém uma lista curada de vulnerabilidades de segurança que foram mapeadas para pacotes monitorados pelo gráfico de dependências de {% data variables.product.company_short %}. {% data reusables.repositories.tracks-vulnerabilities %}
{% data reusables.repositories.tracks-vulnerabilities %}
Cada consultoria de segurança contém informações sobre a vulnerabilidade, incluindo descrição, gravidade, pacote afetado. ecossistema de pacote, versões afetadas e versões de patch, impacto e informações opcionais como, por exemplo, referências, soluções alternativas e créditos. Além disso, a consultoria da lista de Bancos de Vulnerabilidade Nacional contêm um link para o registro CVE, onde você pode ler mais detalhes sobre a vulnerabilidade, suas pontuações CVSS e seu nível de gravidade qualitativa. Para obter mais informações, consulte a "[Base de Dados de Vulnerabilidade Nacional](https://nvd.nist.gov/)" do Instituto Nacional de Padrões e Tecnologia.
### About {% data variables.product.company_short %}-reviewed advisories
O nível de gravidade é um dos quatro níveis possíveis definidos no [ Sistema de Pontuação de vulnerabilidade Comum (CVSS), Seção 5](https://www.first.org/cvss/specification-document)".
- Baixo
- Médio/Moderado
- Alto
- Crítico
{% data variables.product.company_short %}-reviewed advisories are security vulnerabilities that have been mapped to packages tracked by the {% data variables.product.company_short %} dependency graph.
O {% data variables.product.prodname_advisory_database %} usa os níveis de CVSS descritos acima. Se {% data variables.product.company_short %} obtiver um CVE, o {% data variables.product.prodname_advisory_database %} usará a versão 3.1 do CVSS. Se o CVE for importado, o {% data variables.product.prodname_advisory_database %} será compatível com as versões 3.0 e 3.1 do CVSS.
We carefully review each advisory for validity. Each {% data variables.product.company_short %}-reviewed advisory has a full description, and contains both ecosystem and package information.
If you enable {% data variables.product.prodname_dependabot_alerts %} for your repositories, you are automatically notified when a new {% data variables.product.company_short %}-reviewed advisory affects packages you depend on. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
### About unreviewed advisories
Unreviewed advisories are security vulnerabilites that we publish automatically into the {% data variables.product.prodname_advisory_database %}, directly from the National Vulnerability Database feed.
{% data variables.product.prodname_dependabot %} doesn't create {% data variables.product.prodname_dependabot_alerts %} for unreviewed advisories as this type of advisory isn't checked for validity or completion.
## About security advisories
Each security advisory contains information about the vulnerability, which may include the description, severity, affected package, package ecosystem, affected versions and patched versions, impact, and optional information such as references, workarounds, and credits. In addition, advisories from the National Vulnerability Database list contain a link to the CVE record, where you can read more details about the vulnerability, its CVSS scores, and its qualitative severity level. For more information, see the "[National Vulnerability Database](https://nvd.nist.gov/)" from the National Institute of Standards and Technology.
The severity level is one of four possible levels defined in the "[Common Vulnerability Scoring System (CVSS), Section 5](https://www.first.org/cvss/specification-document)."
- Low
- Medium/Moderate
- High
- Critical
The {% data variables.product.prodname_advisory_database %} uses the CVSS levels described above. If {% data variables.product.company_short %} obtains a CVE, the {% data variables.product.prodname_advisory_database %} uses CVSS version 3.1. If the CVE is imported, the {% data variables.product.prodname_advisory_database %} supports both CVSS versions 3.0 and 3.1.
{% data reusables.repositories.github-security-lab %}
## Acessar uma consultoria no {% data variables.product.prodname_advisory_database %}
## Accessing an advisory in the {% data variables.product.prodname_advisory_database %}
1. Navegue até https://github.com/advisories.
2. Opcionalmente, para filtrar a lista, use qualquer um dos menus suspensos. ![Filtros do menu suspenso](/assets/images/help/security/advisory-database-dropdown-filters.png)
3. Clique em qualquer consultoria para visualizar as informações.
1. Navigate to https://github.com/advisories.
2. Optionally, to filter the list, use any of the drop-down menus.
![Dropdown filters](/assets/images/help/security/advisory-database-dropdown-filters.png)
{% tip %}
**Tip:** You can use the sidebar on the left to explore {% data variables.product.company_short %}-reviewed and unreviewed advisories separately.
{% endtip %}
3. Click on any advisory to view details.
{% note %}
O banco de dados também pode ser acessado usando a API do GraphQL. Para obter mais informações, consulte "[ evento de webhook `security_advisory`](/webhooks/event-payloads/#security_advisory)."
The database is also accessible using the GraphQL API. For more information, see the "[`security_advisory` webhook event](/webhooks/event-payloads/#security_advisory)."
{% endnote %}
## Pesquisar em {% data variables.product.prodname_advisory_database %}
## Searching the {% data variables.product.prodname_advisory_database %}
Você pode procurar no banco de dados e usar qualificadores para limitar sua busca. Por exemplo, você pode procurar consultorias criadas em uma determinada data, em um ecossistema específico ou em uma biblioteca em particular.
You can search the database, and use qualifiers to narrow your search. For example, you can search for advisories created on a certain date, in a specific ecosystem, or in a particular library.
{% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %}
{% data reusables.search.date_gt_lt %}
| Qualifier | Exemplo |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GHSA-ID` | [**GHSA-49wp-qq6x-g2rf**](https://github.com/advisories?query=GHSA-49wp-qq6x-g2rf) mostrará a consultoria com o ID de {% data variables.product.prodname_advisory_database %}. |
| `CVE-ID` | [**CVE-2020-28482**](https://github.com/advisories?query=CVE-2020-28482) mostrará a consultoria com este ID de CVE. |
| `ecosystem:ECOSYSTEM` | [**ecosystem:npm**](https://github.com/advisories?utf8=%E2%9C%93&query=ecosystem%3Anpm) mostrará apenas as consultorias que afetam os pacotes NPM. |
| `severity:LEVEL` | [**severity:high**](https://github.com/advisories?utf8=%E2%9C%93&query=severity%3Ahigh) mostrará apenas as consultorias com um alto nível de gravidade. |
| `affects:LIBRARY` | [**affects:lodash**](https://github.com/advisories?utf8=%E2%9C%93&query=affects%3Alodash) mostrará apenas as consultorias que afetam a biblioteca de lodash. |
| `cwe:ID` | [**cwe:352**](https://github.com/advisories?query=cwe%3A352) mostrará apenas as consultorias com este número de CWE. |
| `credit:USERNAME` | [**credit:octocat**](https://github.com/advisories?query=credit%3Aoctocat) mostrará apenas as consultorias creditadas na conta de usuário "octocat". |
| `sort:created-asc` | [**sort:created-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-asc) classificará os resultados, mostrando as consultorias mais antigas primeiro. |
| `sort:created-desc` | [**sort:created-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-desc) classificará os resultados mostrando as consultorias mais novas primeiro. |
| `sort:updated-asc` | [**sort:updated-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-asc) classificará os resultados, mostrando os menos atualizados primeiro. |
| `sort:updated-desc` | [**sort:updated-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-desc) classificará os resultados, mostrando os mais atualizados primeiro. |
| `is:withdrawn` | [**is:withdrawn**](https://github.com/advisories?utf8=%E2%9C%93&query=is%3Awithdrawn) mostrará apenas as consultorias que foram retiradas. |
| `created:YYYY-MM-DD` | [**created:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=created%3A2021-01-13) mostrará apenas as consultorias criadas nessa data. |
| `updated:YYYY-MM-DD` | [**updated:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=updated%3A2021-01-13) mostrará somente as consultorias atualizadas nesta data. |
| Qualifier | Example |
| ------------- | ------------- |
| `type:reviewed`| [**type:reviewed**](https://github.com/advisories?query=type%3Areviewed) will show {% data variables.product.company_short %}-reviewed advisories. |
| `type:unreviewed`| [**type:unreviewed**](https://github.com/advisories?query=type%3Aunreviewed) will show unreviewed advisories. |
| `GHSA-ID`| [**GHSA-49wp-qq6x-g2rf**](https://github.com/advisories?query=GHSA-49wp-qq6x-g2rf) will show the advisory with this {% data variables.product.prodname_advisory_database %} ID. |
| `CVE-ID`| [**CVE-2020-28482**](https://github.com/advisories?query=CVE-2020-28482) will show the advisory with this CVE ID number. |
| `ecosystem:ECOSYSTEM`| [**ecosystem:npm**](https://github.com/advisories?utf8=%E2%9C%93&query=ecosystem%3Anpm) will show only advisories affecting NPM packages. |
| `severity:LEVEL`| [**severity:high**](https://github.com/advisories?utf8=%E2%9C%93&query=severity%3Ahigh) will show only advisories with a high severity level. |
| `affects:LIBRARY`| [**affects:lodash**](https://github.com/advisories?utf8=%E2%9C%93&query=affects%3Alodash) will show only advisories affecting the lodash library. |
| `cwe:ID`| [**cwe:352**](https://github.com/advisories?query=cwe%3A352) will show only advisories with this CWE number. |
| `credit:USERNAME`| [**credit:octocat**](https://github.com/advisories?query=credit%3Aoctocat) will show only advisories credited to the "octocat" user account. |
| `sort:created-asc`| [**sort:created-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-asc) will sort by the oldest advisories first. |
| `sort:created-desc`| [**sort:created-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-desc) will sort by the newest advisories first. |
| `sort:updated-asc`| [**sort:updated-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-asc) will sort by the least recently updated first. |
| `sort:updated-desc`| [**sort:updated-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-desc) will sort by the most recently updated first. |
| `is:withdrawn`| [**is:withdrawn**](https://github.com/advisories?utf8=%E2%9C%93&query=is%3Awithdrawn) will show only advisories that have been withdrawn. |
| `created:YYYY-MM-DD`| [**created:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=created%3A2021-01-13) will show only advisories created on this date. |
| `updated:YYYY-MM-DD`| [**updated:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=updated%3A2021-01-13) will show only advisories updated on this date. |
## Visualizar seus repositórios vulneráveis
## Viewing your vulnerable repositories
Para qualquer vulnerabilidade em {% data variables.product.prodname_advisory_database %}, você pode ver qual dos seus repositórios tem um alerta {% data variables.product.prodname_dependabot %} para essa vulnerabilidade. Para ver um repositório vulnerável, você deve ter acesso a {% data variables.product.prodname_dependabot_alerts %} para esse repositório. Para obter mais informações, consulte "[Sobre alertas para dependências vulneráveis](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#access-to-dependabot-alerts)"
For any {% data variables.product.company_short %}-reviewed advisory in the {% data variables.product.prodname_advisory_database %}, you can see which of your repositories are affected by that security vulnerability. To see a vulnerable repository, you must have access to {% data variables.product.prodname_dependabot_alerts %} for that repository. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#access-to-dependabot-alerts)."
1. Navegue até https://github.com/advisories.
2. Clique em uma consultoria.
3. Na parte superior da página da consultoria, clique em **Alertas do dependabot**. ![Alertas do Dependabot](/assets/images/help/security/advisory-database-dependabot-alerts.png)
4. Opcionalmente, para filtrar a lista, use a barra de pesquisa ou os menus suspensos. O menu suspenso "Organização" permite filtrar {% data variables.product.prodname_dependabot_alerts %} por proprietário (organização ou usuário). ![Barra de pesquisa e menus suspensos para filtrar alertas](/assets/images/help/security/advisory-database-dependabot-alerts-filters.png)
5. Para mais detalhes sobre a vulnerabilidade e para aconselhamento sobre como corrigir o repositório vulnerável clique no nome do repositório.
1. Navigate to https://github.com/advisories.
2. Click an advisory.
3. At the top of the advisory page, click **Dependabot alerts**.
![Dependabot alerts](/assets/images/help/security/advisory-database-dependabot-alerts.png)
4. Optionally, to filter the list, use the search bar or the drop-down menus. The "Organization" drop-down menu allows you to filter the {% data variables.product.prodname_dependabot_alerts %} per owner (organization or user).
![Search bar and drop-down menus to filter alerts](/assets/images/help/security/advisory-database-dependabot-alerts-filters.png)
5. For more details about the vulnerability, and for advice on how to fix the vulnerable repository, click the repository name.
## Leia mais
## Further reading
- [Definição de "vulnerabilidade"](https://cve.mitre.org/about/terminology.html#vulnerability) da MITRE
- MITRE's [definition of "vulnerability"](https://cve.mitre.org/about/terminology.html#vulnerability)

View File

@@ -2,7 +2,7 @@
title: About wikis
intro: 'You can host documentation for your repository in a wiki, so that others can use and contribute to your project.'
redirect_from:
- /articles/about-github-wikis/
- /articles/about-github-wikis
- /articles/about-wikis
- /github/building-a-strong-community/about-wikis
product: '{% data reusables.gated-features.wikis %}'

View File

@@ -1,11 +1,11 @@
---
title: Adicionar ou editar páginas wiki
intro: 'Você pode adicionar e editar páginas wiki diretamente no {% data variables.product.product_name %} ou localmente usando a linha de comando.'
title: Adding or editing wiki pages
intro: 'You can add and edit wiki pages directly on {% data variables.product.product_name %} or locally using the command line.'
redirect_from:
- /articles/adding-wiki-pages-via-the-online-interface/
- /articles/editing-wiki-pages-via-the-online-interface/
- /articles/adding-and-editing-wik-pages-locally/
- /articles/adding-and-editing-wiki-pages-locally/
- /articles/adding-wiki-pages-via-the-online-interface
- /articles/editing-wiki-pages-via-the-online-interface
- /articles/adding-and-editing-wik-pages-locally
- /articles/adding-and-editing-wiki-pages-locally
- /articles/adding-or-editing-wiki-pages
- /github/building-a-strong-community/adding-or-editing-wiki-pages
product: '{% data reusables.gated-features.wikis %}'
@@ -16,47 +16,55 @@ versions:
ghec: '*'
topics:
- Community
shortTitle: Gerenciar páginas wiki
shortTitle: Manage wiki pages
---
## Adicionar páginas wiki
## Adding wiki pages
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-wiki %}
3. No canto superior direito da página, clique em **New Page** (Nova página). ![Botão Wiki new page (Nova página wiki)](/assets/images/help/wiki/wiki_new_page_button.png)
4. Se preferir escrever em um formato diferente do markdown, use o menu suspenso Edite mode (Editar modo) e clique em outro formato. ![Seleção de markup do wiki](/assets/images/help/wiki/wiki_dropdown_markup.gif)
5. Use o editor de texto para adicionar o conteúdo da página. ![WYSIWYG do wiki](/assets/images/help/wiki/wiki_wysiwyg.png)
6. Digite uma mensagem do commit descrevendo o novo arquivo que você está adicionando. ![Mensagem do commit do wiki](/assets/images/help/wiki/wiki_commit_message.png)
7. Para fazer commit das alterações no wiki, clique em **Save Page** (Salvar página).
3. In the upper-right corner of the page, click **New Page**.
![Wiki new page button](/assets/images/help/wiki/wiki_new_page_button.png)
4. Optionally, to write in a format other than Markdown, use the Edit mode drop-down menu, and click a different format.
![Wiki markup selection](/assets/images/help/wiki/wiki_dropdown_markup.gif)
5. Use the text editor to add your page's content.
![Wiki WYSIWYG](/assets/images/help/wiki/wiki_wysiwyg.png)
6. Type a commit message describing the new file youre adding.
![Wiki commit message](/assets/images/help/wiki/wiki_commit_message.png)
7. To commit your changes to the wiki, click **Save Page**.
## Editar páginas wiki
## Editing wiki pages
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-wiki %}
4. Usando a barra lateral do wiki, navegue até a página que deseja alterar. No canto superior direito da página, clique em **Edit** (Editar). ![Botão Wiki edit page (Editar página wiki)](/assets/images/help/wiki/wiki_edit_page_button.png)
5. Use o editor de texto para editar o conteúdo da página. ![WYSIWYG do wiki](/assets/images/help/wiki/wiki_wysiwyg.png)
6. Digite uma mensagem do commit descrevendo as alterações. ![Mensagem do commit do wiki](/assets/images/help/wiki/wiki_commit_message.png)
7. Para fazer commit das alterações no wiki, clique em **Save Page** (Salvar página).
4. Using the wiki sidebar, navigate to the page you want to change. In the upper-right corner of the page, click **Edit**.
![Wiki edit page button](/assets/images/help/wiki/wiki_edit_page_button.png)
5. Use the text editor edit the page's content.
![Wiki WYSIWYG](/assets/images/help/wiki/wiki_wysiwyg.png)
6. Type a commit message describing your changes.
![Wiki commit message](/assets/images/help/wiki/wiki_commit_message.png)
7. To commit your changes to the wiki, click **Save Page**.
## Adicionar ou editar páginas wiki localmente
## Adding or editing wiki pages locally
Os wikis fazem parte dos repositórios Git, de modo que é possível fazer alterações localmente e fazer push delas no seu repositório usando o fluxo de trabalho Git.
Wikis are part of Git repositories, so you can make changes locally and push them to your repository using a Git workflow.
### Clonar wikis para seu computador
### Cloning wikis to your computer
Cada wiki fornece uma maneira fácil de clonar o respectivo conteúdo para seu computador. Você pode clonar o repositório no seu computador com a URL fornecida:
Every wiki provides an easy way to clone its contents down to your computer.
You can clone the repository to your computer with the provided URL:
```shell
$ git clone https://github.com/<em>YOUR_USERNAME</em>/<em>YOUR_REPOSITORY</em>.wiki.git
# Clona o wiki localmente
# Clones the wiki locally
```
Depois de clonar o wiki, é possível adicionar novos arquivos, editar os existentes e fazer commit das alterações. Você e seus colaboradores podem criar branches ao trabalhar em wikis, mas somente as alterações enviadas por push ao branch-padrão serão ativadas e disponibilizadas para os seus leitores.
Once you have cloned the wiki, you can add new files, edit existing ones, and commit your changes. You and your collaborators can create branches when working on wikis, but only changes pushed to the default branch will be made live and available to your readers.
## Sobre nomes de arquivo de wiki
## About wiki filenames
O nome de arquivo determina o título da sua página wiki e a extensão do arquivo determina como o conteúdo do wiki será renderizado.
The filename determines the title of your wiki page, and the file extension determines how your wiki content is rendered.
Os wikis usam [nossa biblioteca de markup de código aberto](https://github.com/github/markup) para converter o markup e determinam qual conversor usar pela extensão de um arquivo. Por exemplo, se o nome de um arquivo for *foo.md* ou *foo.markdown*, o wiki usará o conversor Markdown, enquanto em um arquivo chamado *foo.textile*, ele usará o conversor Textile.
Wikis use [our open-source Markup library](https://github.com/github/markup) to convert the markup, and it determines which converter to use by a file's extension. For example, if you name a file *foo.md* or *foo.markdown*, wiki will use the Markdown converter, while a file named *foo.textile* will use the Textile converter.
Não use os seguintes caracteres nos títulos da sua página wiki: `\ / : * ? " < > |`. Os usuários em determinados sistemas operacionais não poderão trabalhar com nomes de arquivo contendo esses caracteres. Certifique-se de escrever seu conteúdo usando uma linguagem markup que corresponda à extensão, ou o conteúdo não será renderizado adequadamente.
Don't use the following characters in your wiki page's titles: `\ / : * ? " < > |`. Users on certain operating systems won't be able to work with filenames containing these characters. Be sure to write your content using a markup language that matches the extension, or your content won't render properly.

View File

@@ -1,9 +1,9 @@
---
title: Criar rodapé ou barra lateral no wiki
intro: Você pode adicionar uma barra lateral ou um footer personalizado para seu wiki a fim de fornecer aos leitores informações mais contextuais.
title: Creating a footer or sidebar for your wiki
intro: You can add a custom sidebar or footer to your wiki to provide readers with more contextual information.
redirect_from:
- /articles/creating-a-footer/
- /articles/creating-a-sidebar/
- /articles/creating-a-footer
- /articles/creating-a-sidebar
- /articles/creating-a-footer-or-sidebar-for-your-wiki
- /github/building-a-strong-community/creating-a-footer-or-sidebar-for-your-wiki
product: '{% data reusables.gated-features.wikis %}'
@@ -14,27 +14,33 @@ versions:
ghec: '*'
topics:
- Community
shortTitle: Criar rodapé ou barra lateral
shortTitle: Create footer or sidebar
---
## Criar um footer
## Creating a footer
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-wiki %}
3. Na parte inferior da página, clique em **Add a custom footer** (Adicionar um footer personalizado). ![Seção wiki e footer](/assets/images/help/wiki/wiki_add_footer.png)
4. Use o editor de texto para digitar o conteúdo que deseja ter no footer. ![WYSIWYG do wiki](/assets/images/help/wiki/wiki-footer.png)
5. Insira uma mensagem do commit descrevendo o footer que você está adicionando. ![Mensagem do commit do wiki](/assets/images/help/wiki/wiki_commit_message.png)
6. Para fazer commit das alterações no wiki, clique em **Save Page** (Salvar página).
3. At the bottom of the page, click **Add a custom footer**.
![Wiki add footer section](/assets/images/help/wiki/wiki_add_footer.png)
4. Use the text editor to type the content you want your footer to have.
![Wiki WYSIWYG](/assets/images/help/wiki/wiki-footer.png)
5. Enter a commit message describing the footer youre adding.
![Wiki commit message](/assets/images/help/wiki/wiki_commit_message.png)
6. To commit your changes to the wiki, click **Save Page**.
## Criar uma barra lateral
## Creating a sidebar
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-wiki %}
3. Clique em **Add a custom sidebar** (Adicionar uma barra lateral personalizada). ![Seção de adição da barra lateral do wiki](/assets/images/help/wiki/wiki_add_sidebar.png)
4. Use o editor de texto para adicionar o conteúdo da página. ![WYSIWYG do wiki](/assets/images/help/wiki/wiki-sidebar.png)
5. Insira uma mensagem do commit descrevendo a barra lateral que você está adicionando. ![Mensagem do commit do wiki](/assets/images/help/wiki/wiki_commit_message.png)
6. Para fazer commit das alterações no wiki, clique em **Save Page** (Salvar página).
3. Click **Add a custom sidebar**.
![Wiki add sidebar section](/assets/images/help/wiki/wiki_add_sidebar.png)
4. Use the text editor to add your page's content.
![Wiki WYSIWYG](/assets/images/help/wiki/wiki-sidebar.png)
5. Enter a commit message describing the sidebar youre adding.
![Wiki commit message](/assets/images/help/wiki/wiki_commit_message.png)
6. To commit your changes to the wiki, click **Save Page**.
## Criar um footer ou uma barra lateral localmente
## Creating a footer or sidebar locally
Se você criar um arquivo chamado `_Footer.<extension>` ou `_Sidebar.<extension>`, nós os usaremos para preencher o footer e a barra lateral do wiki, respectivamente. Assim como qualquer outra página do wiki, a extensão que você escolhe para esses arquivos determina como nós os renderizaremos.
If you create a file named `_Footer.<extension>` or `_Sidebar.<extension>`, we'll use them to populate the footer and sidebar of your wiki, respectively. Like every other wiki page, the extension you choose for these files determines how we render them.

View File

@@ -1,14 +1,14 @@
---
title: Editar conteúdo de wiki
intro: Você pode adicionar imagens e links no conteúdo do seu wiki e usar alguns formatos do MediaWiki compatíveis.
title: Editing wiki content
intro: 'You can add images and links to content in your wiki, and use some supported MediaWiki formats.'
redirect_from:
- /articles/adding-links-to-wikis/
- /articles/how-do-i-add-links-to-my-wiki/
- /articles/how-do-i-add-or-upload-images-to-the-wiki/
- /articles/needs-writing-review-how-do-i-add-or-upload-images-to-the-wiki/
- /articles/how-do-i-add-images-to-my-wiki/
- /articles/adding-images-to-wikis/
- /articles/supported-mediawiki-formats/
- /articles/adding-links-to-wikis
- /articles/how-do-i-add-links-to-my-wiki
- /articles/how-do-i-add-or-upload-images-to-the-wiki
- /articles/needs-writing-review-how-do-i-add-or-upload-images-to-the-wiki
- /articles/how-do-i-add-images-to-my-wiki
- /articles/adding-images-to-wikis
- /articles/supported-mediawiki-formats
- /articles/editing-wiki-content
- /github/building-a-strong-community/editing-wiki-content
product: '{% data reusables.gated-features.wikis %}'
@@ -21,39 +21,40 @@ topics:
- Community
---
## Adicionar links
## Adding links
Você pode criar links em wikis usando markup padrão compatível para sua página ou usando sintaxe do MediaWiki. Por exemplo:
You can create links in wikis using the standard markup supported by your page, or using MediaWiki syntax. For example:
- Em páginas renderizadas com Markdown, a sintaxe do link é `[Link Text](full-URL-of-wiki-page)`.
- Com a sintaxe do MediaWiki, a sintaxe do link é `[[Link Text|nameofwikipage]]`.
- If your pages are rendered with Markdown, the link syntax is `[Link Text](full-URL-of-wiki-page)`.
- With MediaWiki syntax, the link syntax is `[[Link Text|nameofwikipage]]`.
## Adicionar imagens
## Adding images
Os wikis podem exibir imagens em PNG, JPEG e GIF.
Wikis can display PNG, JPEG, and GIF images.
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-wiki %}
3. Usando a barra lateral de wikis, navegue até a página que deseja alterar e clique em **Edit** (Editar).
4. Na barra de ferramentas de wikis, clique em **Image** (Imagem). ![Imagem do botão Wiki Add (Adição de wiki)](/assets/images/help/wiki/wiki_add_image.png)
5. Na caixa de diálogo "Insert Image" (Inserir imagem), digite a URL da imagem e o texto alt (que é usado por mecanismos de pesquisa e leitores de tela).
6. Clique em **OK**.
3. Using the wiki sidebar, navigate to the page you want to change, and then click **Edit**.
4. On the wiki toolbar, click **Image**.
![Wiki Add image button](/assets/images/help/wiki/wiki_add_image.png)
5. In the "Insert Image" dialog box, type the image URL and the alt text (which is used by search engines and screen readers).
6. Click **OK**.
### Vincular a imagens em um repositório
### Linking to images in a repository
Para vincular a uma imagem em um repositório no {% data variables.product.product_name %}, copie a URL no navegador e use-a como caminho para a imagem. Por exemplo, a incorporação de uma imagem no wiki usando Markdown pode ter esta aparência:
You can link to an image in a repository on {% data variables.product.product_name %} by copying the URL in your browser and using that as the path to the image. For example, embedding an image in your wiki using Markdown might look like this:
[[https://github.com/USERNAME/REPOSITORY/blob/main/img/octocat.png|alt=octocat]]
## Formatos do MediaWiki compatíveis
## Supported MediaWiki formats
Seja qual for a linguagem de marcação em que sua página wiki foi escrita, sempre haverá uma sintaxe do MediaWiki disponível para você.
- Links ([exceto Asciidoc](https://github.com/gollum/gollum/commit/d1cf698b456cd6a35a54c6a8e7b41d3068acec3b))
- Regras horizontais via `---`
- Entidades de símbolo abreviadas (como `&delta;` ou `&euro;`)
No matter which markup language your wiki page is written in, certain MediaWiki syntax will always be available to you.
- Links ([except Asciidoc](https://github.com/gollum/gollum/commit/d1cf698b456cd6a35a54c6a8e7b41d3068acec3b))
- Horizontal rules via `---`
- Shorthand symbol entities (such as `&delta;` or `&euro;`)
Por motivos de segurança e desempenho, algumas sintaxes não são compatíveis.
- [Transclusão](https://www.mediawiki.org/wiki/Transclusion)
- Listas de definições
- Indentação
- Índice
For security and performance reasons, some syntaxes are unsupported.
- [Transclusion](https://www.mediawiki.org/wiki/Transclusion)
- Definition lists
- Indentation
- Table of contents

View File

@@ -1,10 +1,10 @@
---
title: Documentar seu projeto com wikis
shortTitle: Usando wikis
intro: Você pode usar um wiki para compartilhar informações longas e detalhadas sobre seu projeto.
title: Documenting your project with wikis
shortTitle: Using wikis
intro: 'You can use a wiki to share detailed, long-form information about your project.'
redirect_from:
- /categories/49/articles/
- /categories/wiki/
- /categories/49/articles
- /categories/wiki
- /articles/documenting-your-project-with-wikis
- /github/building-a-strong-community/documenting-your-project-with-wikis
product: '{% data reusables.gated-features.wikis %}'

View File

@@ -2,7 +2,7 @@
title: Limiting interactions in your repository
intro: You can temporarily enforce a period of limited activity for certain users on a public repository.
redirect_from:
- /articles/limiting-interactions-with-your-repository/
- /articles/limiting-interactions-with-your-repository
- /articles/limiting-interactions-in-your-repository
- /github/building-a-strong-community/limiting-interactions-in-your-repository
versions:

View File

@@ -1,8 +1,8 @@
---
title: Sobre perfis de comunidade para repositórios públicos
intro: Os mantenedores de repositório podem revisar o respectivo perfil de comunidade do repositório público para saber como podem ajudar a expandir a comunidade e dar suporte aos contribuidores. Os contribuidores podem exibir o perfil de comunidade de um repositório público para verificar se eles desejam contribuir com o projeto.
title: About community profiles for public repositories
intro: Repository maintainers can review their public repository's community profile to learn how they can help grow their community and support contributors. Contributors can view a public repository's community profile to see if they want to contribute to the project.
redirect_from:
- /articles/viewing-your-community-profile/
- /articles/viewing-your-community-profile
- /articles/about-community-profiles-for-public-repositories
- /github/building-a-strong-community/about-community-profiles-for-public-repositories
versions:
@@ -10,36 +10,36 @@ versions:
ghec: '*'
topics:
- Community
shortTitle: Perfis da comunidade
shortTitle: Community profiles
---
A checklist do perfil de comunidade verifica se um projeto inclui arquivos recomendados de integridade da comunidade, como README, CODE_OF_CONDUCT, LICENSE ou CONTRIBUTING em um local compatível. Para obter mais informações, consulte "[Acessar perfil de comunidade de um projeto](/articles/accessing-a-project-s-community-profile)".
The community profile checklist checks to see if a project includes recommended community health files, such as README, CODE_OF_CONDUCT, LICENSE, or CONTRIBUTING, in a supported location. For more information, see "[Accessing a project's community profile](/articles/accessing-a-project-s-community-profile)."
## Usar a checklist do perfil de comunidade como um mantenedor de repositório
## Using the community profile checklist as a repository maintainer
Como um mantenedor de repositório, use a checklist do perfil de comunidade para ver se o projeto atende aos padrões recomendados da comunidade de modo a ajudar as pessoas a usar e contribuir com seu projeto. Para obter mais informações, consulte "[Compilar comunidade](https://opensource.guide/building-community/)" nos Guias de código aberto.
As a repository maintainer, use the community profile checklist to see if your project meets the recommended community standards to help people use and contribute to your project. For more information, see "[Building community](https://opensource.guide/building-community/)" in the Open Source Guides.
Se um projeto não tiver um arquivo recomendado, você poderá clicar em **Adicionar** para rascunhar e enviar uma arquivo.
If a project doesn't have a recommended file, you can click **Add** to draft and submit a file.
{% data reusables.repositories.valid-community-issues %}Para obter mais informações, consulte "[Sobre modelos de problema e pull request](/articles/about-issue-and-pull-request-templates)".
{% data reusables.repositories.valid-community-issues %} For more information, see "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates)."
![Checklist do perfil de comunidade com padrões recomendados da comunidade para mantenedores](/assets/images/help/repository/add-button-community-profile.png)
![Community profile checklist with recommended community standards for maintainers](/assets/images/help/repository/add-button-community-profile.png)
{% data reusables.repositories.security-guidelines %}
## Usar a checklist do perfil de comunidade como integrante ou colaborador da comunidade
## Using the community profile checklist as a community member or collaborator
Como um contribuidor potencial, use a checklist do perfil de comunidade para verificar se um projeto atende aos padrões recomendados da comunidade e decida se deseja contribuir. Para obter mais informações, consulte "[Como contribuir](https://opensource.guide/how-to-contribute/#anatomy-of-an-open-source-project)" nos Guias de código aberto.
As a potential contributor, use the community profile checklist to see if a project meets the recommended community standards and decide if you'd like to contribute. For more information, see "[How to contribute](https://opensource.guide/how-to-contribute/#anatomy-of-an-open-source-project)" in the Open Source Guides.
Se um projeto não tiver um arquivo recomendado, você poderá clicar em **Propor** para rascunhar e enviar um arquivo ao mantenedor de repositório para aprovação.
If a project doesn't have a recommended file, you can click **Propose** to draft and submit a file to the repository maintainer for approval.
![Checklist do perfil de comunidade com padrões recomendados da comunidade para contribuidores](/assets/images/help/repository/propose-button-community-profile.png)
![Community profile checklist with recommended community standards for contributors](/assets/images/help/repository/propose-button-community-profile.png)
## Leia mais
## Further reading
- "[Adicionar um código de conduta ao seu projeto](/articles/adding-a-code-of-conduct-to-your-project)"
- "[Configurar diretrizes para os contribuidores do repositório](/articles/setting-guidelines-for-repository-contributors)"
- "[Adicionar uma licença a um repositório](/articles/adding-a-license-to-a-repository)"
- "[Sobre modelos de problema e pull request](/articles/about-issue-and-pull-request-templates)"
- "[Guias de código aberto](https://opensource.guide/)"
- "[Adding a code of conduct to your project](/articles/adding-a-code-of-conduct-to-your-project)"
- "[Setting guidelines for repository contributors](/articles/setting-guidelines-for-repository-contributors)"
- "[Adding a license to a repository](/articles/adding-a-license-to-a-repository)"
- "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates)"
- "[Open Source Guides](https://opensource.guide/)"
- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %})

View File

@@ -1,9 +1,9 @@
---
title: Configurar projeto para contribuições úteis
shortTitle: Contribuições saudáveis
intro: Os mantenedores de repositório podem definir diretrizes de contribuição para ajudar os colaboradores a fazer contribuições relevantes e úteis a um projeto.
title: Setting up your project for healthy contributions
shortTitle: Healthy contributions
intro: 'Repository maintainers can set contributing guidelines to help collaborators make meaningful, useful contributions to a project.'
redirect_from:
- /articles/helping-people-contribute-to-your-project/
- /articles/helping-people-contribute-to-your-project
- /articles/setting-up-your-project-for-healthy-contributions
- /github/building-a-strong-community/setting-up-your-project-for-healthy-contributions
versions:

View File

@@ -1,68 +1,68 @@
---
title: Configurar diretrizes para os contribuidores do repositório
intro: Você pode criar diretrizes para informar como as pessoas devem contribuir com o projeto.
title: Setting guidelines for repository contributors
intro: You can create guidelines to communicate how people should contribute to your project.
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
redirect_from:
- /articles/how-do-i-set-up-guidelines-for-contributors/
- /articles/how-do-i-set-up-guidelines-for-contributors
- /articles/setting-guidelines-for-repository-contributors
- /github/building-a-strong-community/setting-guidelines-for-repository-contributors
topics:
- Community
shortTitle: Diretrizes de contribuidor
shortTitle: Contributor guidelines
---
## About contributing guidelines
To help your project contributors do good work, you can add a file with contribution guidelines to your project repository's root, `docs`, or `.github` folder. When someone opens a pull request or creates an issue, they will see a link to that file. The link to the contributing guidelines also appears on your repository's `contribute` page. For an example of a `contribute` page, see [github/docs/contribute](https://github.com/github/docs/contribute).
## Sobre diretrizes de contribuição
Para ajudar os contribuidores do projeto a fazer um bom trabalho, você pode adicionar um arquivo com diretrizes de contribuição às pastas raiz, `docs` ou `.github` do repositório do projeto. Quando alguém abrir uma pull request ou criar um problema, verá um link para esse arquivo. O link para as diretrizes de contribuição também aparece na página `contribuir` do seu repositório. Para obter um exemplo da página de `contribuir`, consulte [github/docs/contribua](https://github.com/github/docs/contribute).
![contributing-guidelines](/assets/images/help/pull_requests/contributing-guidelines.png)
![diretrizes de contribuição](/assets/images/help/pull_requests/contributing-guidelines.png)
For the repository owner, contribution guidelines are a way to communicate how people should contribute.
Para o proprietário do repositório, as diretrizes de contribuição são uma forma de informar como as pessoas devem contribuir.
For contributors, the guidelines help them verify that they're submitting well-formed pull requests and opening useful issues.
Para contribuidores, as diretrizes ajudam a verificar se eles estão enviando pull requests corretas e abrindo problemas úteis.
Para proprietários e contribuidores, as diretrizes de contribuição economizam tempo e evitam aborrecimentos causados por pull requests ou problemas incorretos que precisam ser rejeitados e enviados novamente.
For both owners and contributors, contribution guidelines save time and hassle caused by improperly created pull requests or issues that have to be rejected and re-submitted.
{% ifversion fpt or ghes or ghec %}
Você pode criar diretrizes de contribuição padrão para sua organização{% ifversion fpt or ghes or ghec %} ou conta de usuário{% endif %}. Para obter mais informações, consulte "[Criando um arquivo padrão de integridade da comunidade](//communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)."
You can create default contribution guidelines for your organization{% ifversion fpt or ghes or ghec %} or user account{% endif %}. For more information, see "[Creating a default community health file](//communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)."
{% endif %}
{% tip %}
**Dica:** os mantenedores de repositório podem configurar diretrizes específicas para problemas criando um modelo de problema ou pull request para o repositório. Para obter mais informações, consulte "[Sobre modelos de problema e pull request](/articles/about-issue-and-pull-request-templates)".
**Tip:** Repository maintainers can set specific guidelines for issues by creating an issue or pull request template for the repository. For more information, see "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates)."
{% endtip %}
## Adicionar um arquivo *CONTRIBUTING*
## Adding a *CONTRIBUTING* file
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.files.add-file %}
3. Decida se deseja armazenar as diretrizes de contribuição no diretório root, `docs` ou `.github` do repositório. Em seguida, no campo de nome do arquivo, digite o nome e a extensão do arquivo. Os nomes de arquivos com diretrizes de contribuição não são sensíveis a maiúsculas de minúsculas. Os arquivos são renderizados no formato de texto rich se a extensão do arquivo estiver em um formato compatível. Para obter mais informações, consulte "[Trabalhando com arquivos sem código](/repositories/working-with-files/using-files/working-with-non-code-files#rendering-differences-in-prose-documents)". ![Nome do novo arquivo](/assets/images/help/repository/new-file-name.png)
- Para tornar as diretrizes de contribuição visíveis no diretório raiz do repositório, digite *CONTRIBUTING*.
- Para tornar as diretrizes de contribuição visíveis no diretório `docs` do repositório, digite *docs/* para criar o diretório e, em seguida, digite *CONTRIBUTING*.
- Se um repositório contiver mais de um arquivo *CONTRIBUTING*, o arquivo mostrado em links será escolhido entre locais na seguinte ordem: diretório do `.github`, em seguida, o diretório raiz do repositório e, finalmente, o diretório de `docs`.
4. Adicione as diretrizes de contribuição ao novo arquivo. Elas podem conter:
- Etapas para criar bons problemas ou pull requests.
- Links para documentações externas, listas de distribuição ou um código de conduta.
- Expectativas de comportamento e da comunidade.
3. Decide whether to store your contributing guidelines in your repository's root, `docs`, or `.github` directory. Then, in the filename field, type the name and extension for the file. Contributing guidelines filenames are not case sensitive. Files are rendered in rich text format if the file extension is in a supported format. For more information, see "[Working with non-code files](/repositories/working-with-files/using-files/working-with-non-code-files#rendering-differences-in-prose-documents)."
![New file name](/assets/images/help/repository/new-file-name.png)
- To make your contributing guidelines visible in the repository's root directory, type *CONTRIBUTING*.
- To make your contributing guidelines visible in the repository's `docs` directory, type *docs/* to create the new directory, then *CONTRIBUTING*.
- If a repository contains more than one *CONTRIBUTING* file, then the file shown in links is chosen from locations in the following order: the `.github` directory, then the repository's root directory, and finally the `docs` directory.
4. In the new file, add contribution guidelines. These could include:
- Steps for creating good issues or pull requests.
- Links to external documentation, mailing lists, or a code of conduct.
- Community and behavioral expectations.
{% data reusables.files.write_commit_message %}
{% data reusables.files.choose_commit_branch %}
{% data reusables.files.propose_new_file %}
## Exemplos de diretrizes de contribuição
## Examples of contribution guidelines
Caso tenha dúvidas, estes são alguns bons exemplos de diretrizes de contribuição:
If you're stumped, here are some good examples of contribution guidelines:
- [Diretrizes de contribuição](https://github.com/atom/atom/blob/master/CONTRIBUTING.md) do editor Atom.
- [Diretrizes de contribuição](https://github.com/rails/rails/blob/master/CONTRIBUTING.md) do Ruby on Rails.
- [Diretrizes de contribuição](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md) do Open Government.
- The Atom editor [contribution guidelines](https://github.com/atom/atom/blob/master/CONTRIBUTING.md).
- The Ruby on Rails [contribution guidelines](https://github.com/rails/rails/blob/master/CONTRIBUTING.md).
- The Open Government [contribution guidelines](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md).
## Leia mais
- Seção "[Iniciar um projeto de código aberto](https://opensource.guide/starting-a-project/)" de Guias de código aberto{% ifversion fpt or ghec %}
## Further reading
- The Open Source Guides' section "[Starting an Open Source Project](https://opensource.guide/starting-a-project/)"{% ifversion fpt or ghec %}
- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %}{% ifversion fpt or ghes or ghec %}
- "[Adicionar uma licença a um repositório](/articles/adding-a-license-to-a-repository)"{% endif %}
- "[Adding a license to a repository](/articles/adding-a-license-to-a-repository)"{% endif %}

View File

@@ -1,10 +1,10 @@
---
title: Usando modelos para incentivar problemas úteis e receber pull request
shortTitle: Problema & Modelos PR
intro: Os mantenedores de repositório podem adicionar modelos a um repositório para ajudar os contribuidores a criar problemas e pull requests de alta qualidade.
title: Using templates to encourage useful issues and pull requests
shortTitle: Issue & PR templates
intro: Repository maintainers can add templates in a repository to help contributors create high-quality issues and pull requests.
redirect_from:
- /github/building-a-strong-community/using-issue-and-pull-request-templates
- /articles/using-templates-to-encourage-high-quality-issues-and-pull-requests-in-your-repository/
- /articles/using-templates-to-encourage-high-quality-issues-and-pull-requests-in-your-repository
- /articles/using-issue-and-pull-request-templates
- /github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests
versions:

View File

@@ -1,8 +1,8 @@
---
title: Criar manualmente um modelo único de problema no repositório
intro: 'Ao adicionar um modelo de problema criado manualmente no repositório, os colaboradores de projetos verão automaticamente o conteúdo do modelo no texto do problema.'
title: Manually creating a single issue template for your repository
intro: 'When you add a manually-created issue template to your repository, project contributors will automatically see the template''s contents in the issue body.'
redirect_from:
- /articles/creating-an-issue-template-for-your-repository/
- /articles/creating-an-issue-template-for-your-repository
- /articles/manually-creating-a-single-issue-template-for-your-repository
- /github/building-a-strong-community/manually-creating-a-single-issue-template-for-your-repository
versions:
@@ -12,29 +12,29 @@ versions:
ghec: '*'
topics:
- Community
shortTitle: Criar um modelo de problema
shortTitle: Create an issue template
---
{% data reusables.repositories.legacy-issue-template-tip %}
Você pode criar um subdiretório *ISSUE_TEMPLATE/* (MODELO_DE_PROBLEMA) em qualquer uma das pastas compatíveis. Assim, é possível incluir vários modelos de problemas e usar o parâmetro de consulta `template` (modelo) para especificar o modelo que irá preencher o texto do problema. Para obter mais informações, consulte "[Sobre automação de problemas e pull requests com parâmetros de consulta](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)".
You can create an *ISSUE_TEMPLATE/* subdirectory in any of the supported folders to contain multiple issue templates, and use the `template` query parameter to specify the template that will fill the issue body. For more information, see "[About automation for issues and pull requests with query parameters](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)."
Você pode adicionar o YAML frontmatter a cada modelo de problema para preencher previamente o título do problema, adicionar rótulos e responsáveis automaticamente e atribuir ao modelo um nome e uma descrição que serão mostrados no seletor de modelos que as pessoas veem ao criar um novo problema em seu repositório .
You can add YAML frontmatter to each issue template to pre-fill the issue title, automatically add labels and assignees, and give the template a name and description that will be shown in the template chooser that people see when creating a new issue in your repository.
Aqui está um exemplo de YAML front matter.
Here is example YAML front matter.
```yaml
---
name: Rastreando problema
about: Use este modelo para rastrear novos recursos.
name: Tracking issue
about: Use this template for tracking new features.
title: "[DATE]: [FEATURE NAME]"
labels: rastreando problema, precisa de triagem
labels: tracking issue, needs triage
assignees: octocat
---
```
{% note %}
**Nota:** Se um valor da matéria frontal incluir um caractere reservado em YAML como `:`, você deverá colocar todo o valor entre aspas. Por exemplo, `":bug: Bug"` ou `":new: triagem necessária, :bug: bug"`.
**Note:** If a front matter value includes a YAML-reserved character such as `:` , you must put the whole value in quotes. For example, `":bug: Bug"` or `":new: triage needed, :bug: bug"`.
{% endnote %}
@@ -50,27 +50,31 @@ assignees: octocat
{% endif %}
## Adicionar um modelo de problema
## Adding an issue template
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.files.add-file %}
3. No campo nome do arquivo:
- Para que seu modelo de problema seja visível no diretório raiz do repositório, digite o nome de seu *issue_template* (modelo_de_problema). Por exemplo, `issue_template.md`. ![Novo nome de modelo de problema no diretório raiz](/assets/images/help/repository/issue-template-file-name.png)
- Para que seu modelo de problema seja visível no diretório `docs` do repositório, digite *docs/* seguido pelo nome de seu *issue_template* (modelo_de_problema). Por exemplo, `docs/issue_template.md`. ![Novo modelo de problema no diretório docs](/assets/images/help/repository/issue-template-file-name-docs.png)
- Para armazenar seu arquivo em um diretório oculto, digite *.github/* seguido do nome de seu *issue_template* (modelo_de_problema). Por exemplo, `.github/issue_template.md`. ![Novo modelo de problema no diretório oculto](/assets/images/help/repository/issue-template-hidden-directory.png)
- Para criar vários modelos de problemas e usar o parâmetro de consulta `template` (modelo) para especificar um modelo para preencher o texto do problema, digite *.github/ISSUE_TEMPLATE/* (.github/MODELO_DE_PROBLEMA) e o nome de seu modelo de problema. Por exemplo, `.github/ISSUE_TEMPLATE/issue_template.md`. Também é possível armazenar vários modelos de problemas em um subdiretório `ISSUE_TEMPLATE` (MODELO_DE_PROBLEMA) nos diretórios raiz ou `docs/`. Para obter mais informações, consulte "[Sobre automação de problemas e pull requests com parâmetros de consulta](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)". ![Vários novos modelos de problemas no diretório oculto](/assets/images/help/repository/issue-template-multiple-hidden-directory.png)
4. No texto do novo arquivo, adicione seu modelo de problema. Pode conter:
3. In the file name field:
- To make your issue template visible in the repository's root directory, type the name of your *issue_template*. For example, `issue_template.md`.
![New issue template name in root directory](/assets/images/help/repository/issue-template-file-name.png)
- To make your issue template visible in the repository's `docs` directory, type *docs/* followed by the name of your *issue_template*. For example, `docs/issue_template.md`,
![New issue template in docs directory](/assets/images/help/repository/issue-template-file-name-docs.png)
- To store your file in a hidden directory, type *.github/* followed by the name of your *issue_template*. For example, `.github/issue_template.md`.
![New issue template in hidden directory](/assets/images/help/repository/issue-template-hidden-directory.png)
- To create multiple issue templates and use the `template` query parameter to specify a template to fill the issue body, type *.github/ISSUE_TEMPLATE/*, then the name of your issue template. For example, `.github/ISSUE_TEMPLATE/issue_template.md`. You can also store multiple issue templates in an `ISSUE_TEMPLATE` subdirectory within the root or `docs/` directories. For more information, see "[About automation for issues and pull requests with query parameters](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)."
![New multiple issue template in hidden directory](/assets/images/help/repository/issue-template-multiple-hidden-directory.png)
4. In the body of the new file, add your issue template. This could include:
- YAML frontmatter
- Comportamento esperado e comportamento atual
- Etapas para reproduzir o problema
- Especificações como a versão do projeto, sistema operacional ou hardware
- Expected behavior and actual behavior
- Steps to reproduce the problem
- Specifications like the version of the project, operating system, or hardware
{% data reusables.files.write_commit_message %}
{% data reusables.files.choose_commit_branch %} Os modelos são disponibilizados para os colaboradores quando sofrem merge no branch padrão do repositório.
{% data reusables.files.choose_commit_branch %} Templates are available to collaborators when they are merged into the repository's default branch.
{% data reusables.files.propose_new_file %}
## Leia mais
## Further reading
- "[Sobre modelos de problema e pull request](/articles/about-issue-and-pull-request-templates)"
- "[Configurando modelos de problemas para seu repositório](/articles/configuring-issue-templates-for-your-repository)"
- "[Sobre automação de problemas e pull requests com parâmetros de consulta](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)"
- "[Criar um problema](/articles/creating-an-issue)"
- "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates)"
- "[Configuring issue templates for your repository](/articles/configuring-issue-templates-for-your-repository)"
- "[About automation for issues and pull requests with query parameters](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)"
- "[Creating an issue](/articles/creating-an-issue)"

View File

@@ -2,8 +2,8 @@
title: Authenticating with GitHub Apps
intro: '{% data reusables.shortdesc.authenticating_with_github_apps %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps/
- /apps/building-github-apps/authentication-options-for-github-apps/
- /apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps
- /apps/building-github-apps/authentication-options-for-github-apps
- /apps/building-github-apps/authenticating-with-github-apps
- /developers/apps/authenticating-with-github-apps
versions:

View File

@@ -1,9 +1,9 @@
---
title: Criar um aplicativo GitHub
title: Creating a GitHub App
intro: '{% data reusables.shortdesc.creating_github_apps %}'
redirect_from:
- /early-access/integrations/creating-an-integration/
- /apps/building-integrations/setting-up-and-registering-github-apps/registering-github-apps/
- /early-access/integrations/creating-an-integration
- /apps/building-integrations/setting-up-and-registering-github-apps/registering-github-apps
- /apps/building-github-apps/creating-a-github-app
- /developers/apps/creating-a-github-app
versions:
@@ -14,13 +14,12 @@ versions:
topics:
- GitHub Apps
---
{% ifversion fpt or ghec %}Para aprender como usar manifestos do aplicativo GitHub que permitem que pessoas criem aplicativos GitHub pré-configurados, consulte "[Criando aplicativos GitHub a partir de um manifesto](/apps/building-github-apps/creating-github-apps-from-a-manifest/).{% endif %}
{% ifversion fpt or ghec %}To learn how to use GitHub App Manifests, which allow people to create preconfigured GitHub Apps, see "[Creating GitHub Apps from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %}
{% ifversion fpt or ghec %}
{% note %}
**Observação:** {% data reusables.apps.maximum-github-apps-allowed %}
**Note:** {% data reusables.apps.maximum-github-apps-allowed %}
{% endnote %}
{% endif %}
@@ -28,44 +27,57 @@ topics:
{% data reusables.apps.settings-step %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.github_apps %}
1. Clique em **Novo aplicativo GitHub**. ![Botão para criar um novo aplicativo GitHub](/assets/images/github-apps/github_apps_new.png)
1. Em "Nome do aplicativo GitHub App", digite o nome do seu aplicativo. ![Campo para o nome do seu aplicativo GitHub](/assets/images/github-apps/github_apps_app_name.png)
1. Click **New GitHub App**.
![Button to create a new GitHub App](/assets/images/github-apps/github_apps_new.png)
1. In "GitHub App name", type the name of your app.
![Field for the name of your GitHub App](/assets/images/github-apps/github_apps_app_name.png)
Dê um nome claro e sucinto ao seu aplicativo. Seu aplicativo não pode ter o mesmo nome de uma conta existente no GitHub, a menos que seja o seu próprio nome de usuário ou da sua organização. Uma versão movida do nome do seu aplicativo será exibida na interface do usuário quando sua integração realizar uma ação.
Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub account, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action.
1. Opcionalmente, em "Descrição", digite uma descrição do aplicativo que os usuários irão ver. ![Campo para uma descrição do seu aplicativo GitHub](/assets/images/github-apps/github_apps_description.png)
1. Em "URL da página inicial", digite a URL completa do site do seu aplicativo. ![Campo para a URL da página inicial do seu aplicativo GitHub](/assets/images/github-apps/github_apps_homepage_url.png)
1. Optionally, in "Description", type a description of your app that users will see.
![Field for a description of your GitHub App](/assets/images/github-apps/github_apps_description.png)
1. In "Homepage URL", type the full URL to your app's website.
![Field for the homepage URL of your GitHub App](/assets/images/github-apps/github_apps_homepage_url.png)
{% ifversion fpt or ghes > 3.0 or ghec %}
1. Em "URL de retorno de chamada", digite a URL completa para redirecionar após um usuário autorizar a instalação. Esta URL é usada se o aplicativo precisar identificar e autorizar solicitações de usuário para servidor.
1. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests.
Você pode usar **Adicionar URL de retorno de chamada** para fornecer URLs de retorno de chamadas adicionais até o limite máximo de 10.
You can use **Add callback URL** to provide additional callback URLs, up to a maximum of 10.
![Botão para 'Adicionar URL de retorno de chamada' e campo para URL de retorno de chamada](/assets/images/github-apps/github_apps_callback_url_multiple.png)
![Button for 'Add callback URL' and field for callback URL](/assets/images/github-apps/github_apps_callback_url_multiple.png)
{% else %}
1. Em "URL de chamada de retorno de autorização do usuário", digite a URL completa para redirecionamento após um usuário autorizar uma instalação. Esta URL é usada se o aplicativo precisar identificar e autorizar solicitações de usuário para servidor. ![Campo para a URL de chamada de retorno de autorização do usuário do seu aplicativo GitHub](/assets/images/github-apps/github_apps_user_authorization.png)
1. In "User authorization callback URL", type the full URL to redirect to after a user authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests.
![Field for the user authorization callback URL of your GitHub App](/assets/images/github-apps/github_apps_user_authorization.png)
{% endif %}
1. Por padrão, para melhorar a segurança de seus aplicativos, seus aplicativos usarão os tokens de autorização do usuário. Para optar por não usar tokens do usuário expirados, você deverá desmarcar "Expirar tokens de autorização do usuário". Para saber mais sobre como configurar o fluxo de atualização do token e os benefícios de expirar os tokens do usuário, consulte "[Atualizando tokens de acesso do usuário para o servidor](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)." ![Opção para expirar os tokens dos usuários durante a configuração dos aplicativos GitHub](/assets/images/github-apps/expire-user-tokens-selection.png)
1. Se seu aplicativo autoriza usuários a usar o fluxo OAuth, você pode selecionar **Solicitar autorização de usuário (OAuth) durante a instalação** para permitir que pessoas autorizem o aplicativo ao instalá-lo, economizando uma etapa. Se você selecionar esta opção, a "URL de configuração" irá tornar-se indisponível e os usuários serão redirecionados para a "URL de retorno de chamada de autorização do usuário" após a instalação do aplicativo. Consulte "[Autorizando usuários durante a instalação](/apps/installing-github-apps/#authorizing-users-during-installation)" para obter mais informações. ![Solicitar autorização de usuário durante a instalação](/assets/images/github-apps/github_apps_request_auth_upon_install.png)
1. Se for necessária uma configuração adicional após a instalação, adicione um "Configurar URL" para redirecionar os usuários após a instalação do seu aplicativo. ![Campo para a URL de configuração do seu aplicativo GitHub ](/assets/images/github-apps/github_apps_setup_url.png)
1. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)."
![Option to opt-in to expiring user tokens during GitHub Apps setup](/assets/images/github-apps/expire-user-tokens-selection.png)
1. If your app authorizes users using the OAuth flow, you can select **Request user authorization (OAuth) during installation** to allow people to authorize the app when they install it, saving a step. If you select this option, the "Setup URL" becomes unavailable and users will be redirected to your "User authorization callback URL" after installing the app. See "[Authorizing users during installation](/apps/installing-github-apps/#authorizing-users-during-installation)" for more information.
![Request user authorization during installation](/assets/images/github-apps/github_apps_request_auth_upon_install.png)
1. If additional setup is required after installation, add a "Setup URL" to redirect users to after they install your app.
![Field for the setup URL of your GitHub App ](/assets/images/github-apps/github_apps_setup_url.png)
{% note %}
**Observação:** Ao selecionar **Solicitar autorização do usuário (OAuth) durante a instalação** na etapa anterior, este campo irá tornar-se indisponível e as pessoas serão redirecionadas para a "URL de chamada de retorno de autorização do usuário" após a instalação do aplicativo.
**Note:** When you select **Request user authorization (OAuth) during installation** in the previous step, this field becomes unavailable and people will be redirected to the "User authorization callback URL" after installing the app.
{% endnote %}
1. Na "URL Webhook", digite a URL para a qual os eventos serão POST. Cada aplicativo recebe o seu próprio webhook, que irá notificá-lo sempre que o aplicativo for instalado ou modificado, bem como quaisquer outros eventos que o aplicativo assinar. ![Campo para a URL do webhook do seu aplicativo GitHub](/assets/images/github-apps/github_apps_webhook_url.png)
1. In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to.
![Field for the webhook URL of your GitHub App](/assets/images/github-apps/github_apps_webhook_url.png)
1. Opcionalmente, no "Segredo do webhook", digite um token secreto opcional usado para proteger seus webhooks. ![Campo para adicionar um token secreto para seu webhook](/assets/images/github-apps/github_apps_webhook_secret.png)
1. Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks.
![Field to add a secret token for your webhook](/assets/images/github-apps/github_apps_webhook_secret.png)
{% note %}
**Observação:** É altamente recomendável que você defina um token secreto. Para obter mais informações, consulte "[Protegendo seus webhooks](/webhooks/securing/)".
**Note:** We highly recommend that you set a secret token. For more information, see "[Securing your webhooks](/webhooks/securing/)."
{% endnote %}
1. Em "Permissões", escolha as permissões que o seu aplicativo irá solicitar. Para cada tipo de permissão, use o menu suspenso e clique em **somente leitura**, **leitura & gravação** ou **Sem acesso**. ![Várias permissões para o seu aplicativo GitHub](/assets/images/github-apps/github_apps_new_permissions_post2dot13.png)
1. Em "Assinar eventos", escolha os eventos que você deseja que seu aplicativo receba.
1. Para escolher o local onde o aplicativo pode ser instalado, selecione **somente nesta conta** ou **qualquer conta**. Para obter mais informações sobre as opções de instalação, consulte "[Tornando um aplicativo GitHub público ou privado](/apps/managing-github-apps/making-a-github-app-public-or-private/)". ![Opções de instalação para o seu aplicativo GitHub](/assets/images/github-apps/github_apps_installation_options.png)
1. Click **Criar aplicativo GitHub**. ![Botão para criar o seu aplicativo GitHub](/assets/images/github-apps/github_apps_create_github_app.png)
1. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click **Read-only**, **Read & write**, or **No access**.
![Various permissions for your GitHub App](/assets/images/github-apps/github_apps_new_permissions_post2dot13.png)
1. In "Subscribe to events", choose the events you want your app to receive.
1. To choose where the app can be installed, select either **Only on this account** or **Any account**. For more information on installation options, see "[Making a GitHub App public or private](/apps/managing-github-apps/making-a-github-app-public-or-private/)."
![Installation options for your GitHub App](/assets/images/github-apps/github_apps_installation_options.png)
1. Click **Create GitHub App**.
![Button to create your GitHub App](/assets/images/github-apps/github_apps_create_github_app.png)

View File

@@ -2,8 +2,8 @@
title: Identifying and authorizing users for GitHub Apps
intro: '{% data reusables.shortdesc.identifying_and_authorizing_github_apps %}'
redirect_from:
- /early-access/integrations/user-identification-authorization/
- /apps/building-integrations/setting-up-and-registering-github-apps/identifying-users-for-github-apps/
- /early-access/integrations/user-identification-authorization
- /apps/building-integrations/setting-up-and-registering-github-apps/identifying-users-for-github-apps
- /apps/building-github-apps/identifying-and-authorizing-users-for-github-apps
- /developers/apps/identifying-and-authorizing-users-for-github-apps
versions:

View File

@@ -1,8 +1,8 @@
---
title: Criar aplicativos GitHub
intro: Você pode criar aplicativos GitHub para você mesmo ou para os outros usarem. Saiba como registrar e configurar permissões e opções de autenticação para os aplicativos GitHub.
title: Building GitHub Apps
intro: You can build GitHub Apps for yourself or others to use. Learn how to register and set up permissions and authentication options for GitHub Apps.
redirect_from:
- /apps/building-integrations/setting-up-and-registering-github-apps/
- /apps/building-integrations/setting-up-and-registering-github-apps
- /apps/building-github-apps
versions:
fpt: '*'

View File

@@ -2,9 +2,9 @@
title: Rate limits for GitHub Apps
intro: '{% data reusables.shortdesc.rate_limits_github_apps %}'
redirect_from:
- /early-access/integrations/rate-limits/
- /apps/building-integrations/setting-up-and-registering-github-apps/about-rate-limits-for-github-apps/
- /apps/building-github-apps/rate-limits-for-github-apps/
- /early-access/integrations/rate-limits
- /apps/building-integrations/setting-up-and-registering-github-apps/about-rate-limits-for-github-apps
- /apps/building-github-apps/rate-limits-for-github-apps
- /apps/building-github-apps/understanding-rate-limits-for-github-apps
- /developers/apps/rate-limits-for-github-apps
versions:

View File

@@ -1,9 +1,9 @@
---
title: Configurando permissões para aplicativos GitHub
title: Setting permissions for GitHub Apps
intro: '{% data reusables.shortdesc.permissions_github_apps %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-github-apps/about-permissions-for-github-apps/
- /apps/building-github-apps/permissions-for-github-apps/
- /apps/building-integrations/setting-up-and-registering-github-apps/about-permissions-for-github-apps
- /apps/building-github-apps/permissions-for-github-apps
- /apps/building-github-apps/setting-permissions-for-github-apps
- /developers/apps/setting-permissions-for-github-apps
versions:
@@ -13,7 +13,6 @@ versions:
ghec: '*'
topics:
- GitHub Apps
shortTitle: Definir permissões
shortTitle: Set permissions
---
Aplicativos do GitHub não têm quaisquer permissões por padrão. Ao criar um aplicativo GitHub, você pode selecionar as permissões de que precisa para acessar os dados do usuário final. As permissões também podem ser adicionadas e removidas. Para obter mais informações, consulte "[Editando as permissões de um aplicativo GitHub](/apps/managing-github-apps/editing-a-github-app-s-permissions/)".
GitHub Apps don't have any permissions by default. When you create a GitHub App, you can select the permissions it needs to access end user data. Permissions can also be added and removed. For more information, see "[Editing a GitHub App's permissions](/apps/managing-github-apps/editing-a-github-app-s-permissions/)."

View File

@@ -2,11 +2,11 @@
title: Authorizing OAuth Apps
intro: '{% data reusables.shortdesc.authorizing_oauth_apps %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps/
- /apps/building-integrations/setting-up-and-registering-oauth-apps/directing-users-to-review-their-access/
- /apps/building-integrations/setting-up-and-registering-oauth-apps/creating-multiple-tokens-for-oauth-apps/
- /v3/oauth/
- /apps/building-oauth-apps/authorization-options-for-oauth-apps/
- /apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps
- /apps/building-integrations/setting-up-and-registering-oauth-apps/directing-users-to-review-their-access
- /apps/building-integrations/setting-up-and-registering-oauth-apps/creating-multiple-tokens-for-oauth-apps
- /v3/oauth
- /apps/building-oauth-apps/authorization-options-for-oauth-apps
- /apps/building-oauth-apps/authorizing-oauth-apps
- /developers/apps/authorizing-oauth-apps
versions:

View File

@@ -1,8 +1,8 @@
---
title: Criar um aplicativo OAuth
title: Creating an OAuth App
intro: '{% data reusables.shortdesc.creating_oauth_apps %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps/
- /apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps
- /apps/building-oauth-apps/creating-an-oauth-app
- /developers/apps/creating-an-oauth-app
versions:
@@ -13,11 +13,10 @@ versions:
topics:
- OAuth Apps
---
{% ifversion fpt or ghec %}
{% note %}
**Observação:** {% data reusables.apps.maximum-oauth-apps-allowed %}
**Note:** {% data reusables.apps.maximum-oauth-apps-allowed %}
{% endnote %}
{% endif %}
@@ -25,29 +24,35 @@ topics:
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.oauth_apps %}
4. Clique em **Novo aplicativo OAuth**. ![Botão para criar um novo aplicativo OAuth](/assets/images/oauth-apps/oauth_apps_new_app.png)
4. Click **New OAuth App**.
![Button to create a new OAuth app](/assets/images/oauth-apps/oauth_apps_new_app.png)
{% note %}
**Observação:** Se você não criou um aplicativo antes, este botão informará: **Registre um novo aplicativo**.
**Note:** If you haven't created an app before, this button will say, **Register a new application**.
{% endnote %}
6. Em "Nome do aplicativo", digite o nome do seu aplicativo. ![Campo para o nome do seu aplicativo](/assets/images/oauth-apps/oauth_apps_application_name.png)
6. In "Application name", type the name of your app.
![Field for the name of your app](/assets/images/oauth-apps/oauth_apps_application_name.png)
{% warning %}
**Aviso:** Use apenas informações em seu aplicativo OAuth que você considera públicas. Ao criar um aplicativo OAuth, evite o uso de dados confidenciais, como, por exemplo, URLs internas.
**Warning:** Only use information in your OAuth app that you consider public. Avoid using sensitive data, such as internal URLs, when creating an OAuth App.
{% endwarning %}
7. Em "URL da página inicial", digite a URL completa do site do seu aplicativo. ![Campo para a URL da página inicial de seu aplicativo](/assets/images/oauth-apps/oauth_apps_homepage_url.png)
8. Opcionalmente, em "Descrição do aplicativo", digite uma descrição do seu aplicativo que os usuários irão ver. ![Campo para uma descrição do seu aplicativo](/assets/images/oauth-apps/oauth_apps_application_description.png)
9. Em "URL de retorno de chamada de autorização", digite a URL de retorno de chamada do seu aplicativo. ![Campo para a URL de retorno de chamada de autorização do seu aplicativo](/assets/images/oauth-apps/oauth_apps_authorization_callback_url.png)
7. In "Homepage URL", type the full URL to your app's website.
![Field for the homepage URL of your app](/assets/images/oauth-apps/oauth_apps_homepage_url.png)
8. Optionally, in "Application description", type a description of your app that users will see.
![Field for a description of your app](/assets/images/oauth-apps/oauth_apps_application_description.png)
9. In "Authorization callback URL", type the callback URL of your app.
![Field for the authorization callback URL of your app](/assets/images/oauth-apps/oauth_apps_authorization_callback_url.png)
{% ifversion fpt or ghes > 3.0 or ghec %}
{% note %}
**Observação:** Os aplicativos OAuth não podem ter várias URLs de retorno de chamada, diferente de {% data variables.product.prodname_github_apps %}.
**Note:** OAuth Apps cannot have multiple callback URLs, unlike {% data variables.product.prodname_github_apps %}.
{% endnote %}
{% endif %}
10. Clique em **Register application** (Registrar aplicativo). ![Botão para registrar um aplicativo](/assets/images/oauth-apps/oauth_apps_register_application.png)
10. Click **Register application**.
![Button to register an application](/assets/images/oauth-apps/oauth_apps_register_application.png)

View File

@@ -1,8 +1,8 @@
---
title: Criar aplicativos OAuth
intro: Você pode criar aplicativos OAuth para você mesmo ou para outros usarem. Saiba como se registrar e configurar permissões e opções de autorização para os aplicativos OAuth.
title: Building OAuth Apps
intro: You can build OAuth Apps for yourself or others to use. Learn how to register and set up permissions and authorization options for OAuth Apps.
redirect_from:
- /apps/building-integrations/setting-up-and-registering-oauth-apps/
- /apps/building-integrations/setting-up-and-registering-oauth-apps
- /apps/building-oauth-apps
versions:
fpt: '*'

View File

@@ -2,8 +2,8 @@
title: Scopes for OAuth Apps
intro: '{% data reusables.shortdesc.understanding_scopes_for_oauth_apps %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-oauth-apps/about-scopes-for-oauth-apps/
- /apps/building-oauth-apps/scopes-for-oauth-apps/
- /apps/building-integrations/setting-up-and-registering-oauth-apps/about-scopes-for-oauth-apps
- /apps/building-oauth-apps/scopes-for-oauth-apps
- /apps/building-oauth-apps/understanding-scopes-for-oauth-apps
- /developers/apps/scopes-for-oauth-apps
versions:

View File

@@ -2,9 +2,9 @@
title: About apps
intro: 'You can build integrations with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} APIs to add flexibility and reduce friction in your own workflow.{% ifversion fpt or ghec %} You can also share integrations with others on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace).{% endif %}'
redirect_from:
- /apps/building-integrations/setting-up-a-new-integration/
- /apps/building-integrations/
- /apps/getting-started-with-building-apps/
- /apps/building-integrationssetting-up-a-new-integration
- /apps/building-integrations
- /apps/getting-started-with-building-apps
- /apps/about-apps
- /developers/apps/about-apps
versions:

View File

@@ -2,8 +2,8 @@
title: Differences between GitHub Apps and OAuth Apps
intro: 'Understanding the differences between {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} will help you decide which app you want to create. An {% data variables.product.prodname_oauth_app %} acts as a GitHub user, whereas a {% data variables.product.prodname_github_app %} uses its own identity when installed on an organization or on repositories within an organization.'
redirect_from:
- /early-access/integrations/integrations-vs-oauth-applications/
- /apps/building-integrations/setting-up-a-new-integration/about-choosing-an-integration-type/
- /early-access/integrations/integrations-vs-oauth-applications
- /apps/building-integrations/setting-up-a-new-integration/about-choosing-an-integration-type
- /apps/differences-between-apps
- /developers/apps/differences-between-github-apps-and-oauth-apps
versions:

View File

@@ -1,8 +1,8 @@
---
title: Usar a API do GitHub no seu aplicativo
intro: Aprenda como configurar seu aplicativo para ouvir eventos e usar a biblioteca do Octokit para realizar operações da API REST.
title: Using the GitHub API in your app
intro: Learn how to set up your app to listen for events and use the Octokit library to perform REST API operations.
redirect_from:
- /apps/building-your-first-github-app/
- /apps/building-your-first-github-app
- /apps/quickstart-guides/using-the-github-api-in-your-app
- /developers/apps/using-the-github-api-in-your-app
versions:
@@ -12,90 +12,89 @@ versions:
ghec: '*'
topics:
- GitHub Apps
shortTitle: Crie um aplicativo com a API REST
shortTitle: Build an app with the REST API
---
## Introduction
## Introdução
This guide will help you build a GitHub App and run it on a server. The app you build will add a label to all new issues opened in the repository where the app is installed.
Este guia irá ajudá-lo a criar um aplicativo GitHub e executá-lo em um servidor. O aplicativo que você criar adicionará uma etiqueta a todos os novos problemas abertos no repositório onde o aplicativo está instalado.
This project will walk you through the following:
Este projeto orientará você no seguinte:
* Programar seu aplicativo para ouvir eventos
* Usar a biblioteca do Octokit.rb para realizar operações da API REST
* Programming your app to listen for events
* Using the Octokit.rb library to do REST API operations
{% data reusables.apps.app-ruby-guides %}
Uma concluídas as etapas, você estará pronto para desenvolver outros tipos de integrações usando o conjunto completo das APIS do GitHub. {% ifversion fpt or ghec %}Você pode conferir exemplos bem-sucedidos de aplicativos no [GitHub Marketplace](https://github.com/marketplace) e em [Trabalhos com GitHub](https://github.com/works-with).{% endif %}
Once you've worked through the steps, you'll be ready to develop other kinds of integrations using the full suite of GitHub APIs. {% ifversion fpt or ghec %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %}
## Pré-requisitos
## Prerequisites
Você pode achar útil ter um entendimento básico do seguinte:
You may find it helpful to have a basic understanding of the following:
* [Aplicativos do GitHub](/apps/about-apps)
* [GitHub Apps](/apps/about-apps)
* [Webhooks](/webhooks)
* [Linguagem de programação Ruby](https://www.ruby-lang.org/en/)
* [APIs REST](/rest)
* [The Ruby programming language](https://www.ruby-lang.org/en/)
* [REST APIs](/rest)
* [Sinatra](http://sinatrarb.com/)
Mas é possível acompanhar o processo em qualquer nível de experiência. Nós vamos nos conectar a informações de que você precisa ao longo do caminho!
But you can follow along at any experience level. We'll link out to information you need along the way!
Antes de começar, você precisará fazer o seguinte:
Before you begin, you'll need to do the following:
1. Clone o repositório [Usando a API do GitHub no seu aplicativo](https://github.com/github-developer/using-the-github-api-in-your-app).
1. Clone the [Using the GitHub API in your app](https://github.com/github-developer/using-the-github-api-in-your-app) repository.
```shell
$ git clone https://github.com/github-developer/using-the-github-api-in-your-app.git
```
Dentro do diretório, você encontrará um arquivo `template_server.rb` com o código do template você usará neste início rápido e um arquivo `server.rb` arquivo com o código do projeto concluído.
Inside the directory, you'll find a `template_server.rb` file with the template code you'll use in this quickstart and a `server.rb` file with the completed project code.
1. Siga as etapas no início rápido [Configurando o seu ambiente de desenvolvimento](/apps/quickstart-guides/setting-up-your-development-environment/) para configurar e executar o servidor do aplicativo `template_server.rb`. Se você já concluiu um início rápido do aplicativo GitHub diferente de [Configurar seu ambiente de desenvolvimento](/apps/quickstart-guides/setting-up-your-development-environment/), você deverá registrar um _novo_ aplicativo GitHub e começar um novo canal da Smee para usar com este início rápido.
1. Follow the steps in the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart to configure and run the `template_server.rb` app server. If you've previously completed a GitHub App quickstart other than [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/), you should register a _new_ GitHub App and start a new Smee channel to use with this quickstart.
Este início rápido inclui o mesmo código `template_server.rb` que o início rápido [Configurando o seu ambiente de desenvolvimento](/apps/quickstart-guides/setting-up-your-development-environment/). **Observação:** Conforme você segue com o início rápido [Configurando seu ambiente de desenvolvimento](/apps/quickstart-guides/setting-up-your-development-environment/), certifique-se de usar os arquivos do projeto incluídos no repositório [Usando a API do GitHub no seu aplicativo](https://github.com/github-developer/using-the-github-api-in-your-app).
This quickstart includes the same `template_server.rb` code as the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart. **Note:** As you follow along with the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart, make sure to use the project files included in the [Using the GitHub API in your app](https://github.com/github-developer/using-the-github-api-in-your-app) repository.
Consulte a seção [Solução de problemas](/apps/quickstart-guides/setting-up-your-development-environment/#troubleshooting) se você tiver problemas na configuração do seu aplicativo GitHub do modelo.
See the [Troubleshooting](/apps/quickstart-guides/setting-up-your-development-environment/#troubleshooting) section if you are running into problems setting up your template GitHub App.
## Criar o aplicativo
## Building the app
Agora que você está familiarizado com o código `template_server.rb`, você irá criar um código que adiciona automaticamente a etiqueta `needs-response` para todos os problemas abertos no repositório onde o aplicativo está instalado.
Now that you're familiar with the `template_server.rb` code, you're going to create code that automatically adds the `needs-response` label to all issues opened in the repository where the app is installed.
O arquivo `template_server.rb` contém código do modelo do aplicativo que ainda não foi personalizado. Neste arquivo, você verá um espaço reservado para manipular eventos de webhook e outro código para inicializar um cliente Octokit.rb.
The `template_server.rb` file contains app template code that has not yet been customized. In this file, you'll see some placeholder code for handling webhook events and some other code for initializing an Octokit.rb client.
{% note %}
**Observação:** `template_server.rb` contém muitos comentários de código que complementam este guia e explicam detalhes técnicos adicionais. Você pode considerar útil ler os comentários do arquivo antes de seguir com esta seção, para obter uma visão geral de como o código funciona.
**Note:** `template_server.rb` contains many code comments that complement this guide and explain additional technical details. You may find it helpful to read through the comments in that file now, before continuing with this section, to get an overview of how the code works.
O código final personalizado que você criará no final deste guia é fornecido em [`server.rb`](https://github.com/github-developer/using-the-github-api-in-your-app/blob/master/server.rb). Mas espere até o final para olhar isso!
The final customized code that you'll create by the end of this guide is provided in [`server.rb`](https://github.com/github-developer/using-the-github-api-in-your-app/blob/master/server.rb). Try waiting until the end to look at it, though!
{% endnote %}
Estas são as etapas que você concluirá para criar seu primeiro aplicativo GitHub:
These are the steps you'll complete to create your first GitHub App:
1. [Atualizar as permissões do aplicativo](#step-1-update-app-permissions)
2. [Adicionar gerenciamento de evento](#step-2-add-event-handling)
3. [Criar nova etiqueta](#step-3-create-a-new-label)
4. [Adicionar gerenciamento de etiqueta](#step-4-add-label-handling)
1. [Update app permissions](#step-1-update-app-permissions)
2. [Add event handling](#step-2-add-event-handling)
3. [Create a new label](#step-3-create-a-new-label)
4. [Add label handling](#step-4-add-label-handling)
## Etapa 1. Atualizar as permissões do aplicativo
## Step 1. Update app permissions
Quando você [registrou seu aplicativo pela primeira vez](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app), você aceitou as permissões-padrão, o que significa que seu aplicativo não tem acesso à maioria dos recursos. Para este exemplo, seu aplicativo precisará de permissão para ler problemas e escrever etiquetas.
When you [first registered your app](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app), you accepted the default permissions, which means your app doesn't have access to most resources. For this example, your app will need permission to read issues and write labels.
Para atualizar as permissões do aplicativo:
To update your app's permissions:
1. Selecione seu aplicativo na [página de configurações do aplicativo](https://github.com/settings/apps) e clique em **Permissões & Webhooks** na barra lateral.
1. Na seção "Permissões", encontre "Problemas" e selecione **Leitura & Gravação** no menu "suspenso Acesso" ao lado. A descrição diz que esta opção concede acesso a problemas e etiquetas, o que é exatamente o que você precisa.
1. Na seção "Assinar eventos", selecione **Problemas** para assinar o evento.
1. Select your app from the [app settings page](https://github.com/settings/apps) and click **Permissions & Webhooks** in the sidebar.
1. In the "Permissions" section, find "Issues," and select **Read & Write** in the "Access" dropdown next to it. The description says this option grants access to both issues and labels, which is just what you need.
1. In the "Subscribe to events" section, select **Issues** to subscribe to the event.
{% data reusables.apps.accept_new_permissions_steps %}
Ótimo! Seu aplicativo tem permissão para realizar as tarefas que você deseja que ele realize. Agora você pode adicionar o código para que ele funcione.
Great! Your app has permission to do the tasks you want it to do. Now you can add the code to make it work.
## Etapa 2. Adicionar gerenciamento de evento
## Step 2. Add event handling
A primeira coisa que seu aplicativo precisa fazer é ouvir novos problemas que estão abertos. Agora que você se assinou o evento **Problemas**, você começará a receber o webhook dos [`problemas`](/webhooks/event-payloads/#issues), que é acionado quando ocorrem certas ações relacionadas a um problema. Você pode filtrar este tipo de evento para a ação específica que você deseja no seu código.
The first thing your app needs to do is listen for new issues that are opened. Now that you've subscribed to the **Issues** event, you'll start receiving the [`issues`](/webhooks/event-payloads/#issues) webhook, which is triggered when certain issue-related actions occur. You can filter this event type for the specific action you want in your code.
O GitHub envia cargas do webhook como solicitações de `POST`. Porque você encaminhou suas cargas de webhook da Smee para `http://localhost/event_handler:3000`, seu servidor receberá as cargas de solicitação de `POST` no rota `post '/event_handler'`.
GitHub sends webhook payloads as `POST` requests. Because you forwarded your Smee webhook payloads to `http://localhost/event_handler:3000`, your server will receive the `POST` request payloads in the `post '/event_handler'` route.
Um encaminhamento vazio `post '/event_handler'` já está incluído no arquivo `template_server.rb`, que você baixou na seção [pré-requisitos](#prerequisites). O encaminhamento vazio tem a seguinte forma:
An empty `post '/event_handler'` route is already included in the `template_server.rb` file, which you downloaded in the [prerequisites](#prerequisites) section. The empty route looks like this:
``` ruby
post '/event_handler' do
@@ -108,7 +107,7 @@ Um encaminhamento vazio `post '/event_handler'` já está incluído no arquivo `
end
```
Use essa encaminhamento para gerenciar o evento `problemas`, adicionando o seguinte código:
Use this route to handle the `issues` event by adding the following code:
``` ruby
case request.env['HTTP_X_GITHUB_EVENT']
@@ -119,9 +118,9 @@ when 'issues'
end
```
Cada evento que o GitHub envia inclui um cabeçalho de solicitação denominado `HTTP_X_GITHUB_EVENT`, que indica o tipo de evento na solicitação de `POST`. No momento, você só está interessado nos tipos de evento de `problemas`. Cada evento tem um campo `ação` adicional que indica o tipo de ação que acionou os eventos. Para `problemas`, o campo `ação` pode ser `atribuído`, `não atribuído`, `etiquetado`, `não etiquetado`,, `abriu`, `editado`, `marcado`,, `desmarcado`, `fechado` ou `reaberto`.
Every event that GitHub sends includes a request header called `HTTP_X_GITHUB_EVENT`, which indicates the type of event in the `POST` request. Right now, you're only interested in `issues` event types. Each event has an additional `action` field that indicates the type of action that triggered the events. For `issues`, the `action` field can be `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `milestoned`, `demilestoned`, `closed`, or `reopened`.
Para testar seu gerenciador de eventos, tente adicionar um método auxiliar temporário. Você irá atualizar mais tarde ao [Adicionar o gerenciamento da etiqueta](#step-4-add-label-handling). Por enquanto, adicione o seguinte código na seção `Ajudantes fazem` do código. Você pode colocar o novo método acima ou abaixo de qualquer outro método de ajuda. A ordem não importa.
To test your event handler, try adding a temporary helper method. You'll update later when you [Add label handling](#step-4-add-label-handling). For now, add the following code inside the `helpers do` section of the code. You can put the new method above or below any of the other helper methods. Order doesn't matter.
``` ruby
def handle_issue_opened_event(payload)
@@ -129,37 +128,37 @@ def handle_issue_opened_event(payload)
end
```
Este método recebe uma carga de eventos formatada em JSON como argumento. Isso significa que você pode analisar a carga no método e detalhar os dados específicos de que você precisa. Você pode achar útil inspecionar a carga completa em algum momento: tente alterar `logger.debug 'An issue was opened!` para `logger.debug payload`. A estrutura da carga que você vê deve corresponder ao que é [mostrado na documentação de evento de webhook dos `problemas`](/webhooks/event-payloads/#issues).
This method receives a JSON-formatted event payload as an argument. This means you can parse the payload in the method and drill down to any specific data you need. You may find it helpful to inspect the full payload at some point: try changing `logger.debug 'An issue was opened!` to `logger.debug payload`. The payload structure you see should match what's [shown in the `issues` webhook event docs](/webhooks/event-payloads/#issues).
Ótimo! É hora de testar as alterações.
Great! It's time to test the changes.
{% data reusables.apps.sinatra_restart_instructions %}
No seu navegador, acesse o repositório onde você instalou seu aplicativo. Abra um novo problema neste repositório. O problema pode dizer o que você quiser. É apenas para teste.
In your browser, visit the repository where you installed your app. Open a new issue in this repository. The issue can say anything you like. It's just for testing.
Ao olhar para o seu Terminal, você deve ver uma mensagem na saída que diz: `Um problema foi aberto!` Parabéns! Você adicionou um gerenciador de eventos ao seu aplicativo. 💪
When you look back at your Terminal, you should see a message in the output that says, `An issue was opened!` Congrats! You've added an event handler to your app. 💪
## Etapa 3. Criar nova etiqueta
## Step 3. Create a new label
Ok, seu aplicativo pode dizer quando os problemas estão abertos. Agora você quer que ele adicione a etiqueta `needs-response` a qualquer problema recém-aberto em um repositório no qual o aplicativo está instalado.
Okay, your app can tell when issues are opened. Now you want it to add the label `needs-response` to any newly opened issue in a repository the app is installed in.
Antes que a etiqueta possa ser _adicionada_ em qualquer lugar, você precisará _criar_ a etiqueta personalizada no seu repositório. Você só terá de fazer isso uma vez. Para fins deste guia, crie a etiqueta manualmente no GitHub. No seu repositório, clique em **Problemas** e, em seguida, em **Etiquetas** e depois clique em **Nova etiqueta**. Nomeie a nova etiqueta `needs-response`.
Before the label can be _added_ anywhere, you'll need to _create_ the custom label in your repository. You'll only need to do this one time. For the purposes of this guide, create the label manually on GitHub. In your repository, click **Issues**, then **Labels**, then click **New label**. Name the new label `needs-response`.
{% tip %}
**Dica**: Não seria ótimo se o aplicativo pudesse criar a etiqueta de forma programática? [Ele pode](/rest/reference/issues#create-a-label)! Adicione o código para fazer isso por conta própria depois de concluir as etapas deste guia.
**Tip**: Wouldn't it be great if your app could create the label programmatically? [It can](/rest/reference/issues#create-a-label)! Try adding the code to do that on your own after you finish the steps in this guide.
{% endtip %}
Agora que o rótulo foi criado, você pode programar seu aplicativo para usar a API REST para [adicionar a etiqueta a qualquer problema recém-aberto](/rest/reference/issues#add-labels-to-an-issue).
Now that the label exists, you can program your app to use the REST API to [add the label to any newly opened issue](/rest/reference/issues#add-labels-to-an-issue).
## Etapa 4. Adicionar gerenciamento de etiqueta
## Step 4. Add label handling
Parabéns! Você chegou à etapa final: adicionando o gerenciamento de etiquetas ao seu aplicativo. Para esta tarefa, você vai irá usar a [biblioteca Octokit.rb do Ruby](http://octokit.github.io/octokit.rb/).
Congrats—you've made it to the final step: adding label handling to your app. For this task, you'll want to use the [Octokit.rb Ruby library](http://octokit.github.io/octokit.rb/).
Na documentação do Octokit.rb, encontre a lista de [métodos da etiqueta](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html). O método que você vai querer usar será [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method).
In the Octokit.rb docs, find the list of [label methods](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html). The method you'll want to use is [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method).
Ao voltar para `template_server.rb`, encontre o método definido anteriormente:
Back in `template_server.rb`, find the method you defined previously:
``` ruby
def handle_issue_opened_event(payload)
@@ -167,13 +166,13 @@ def handle_issue_opened_event(payload)
end
```
A documentação [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method) mostra que você precisará passar três argumentos para este método:
The [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method) docs show you'll need to pass three arguments to this method:
* Repo (string em formato `"proprietário/nome"`)
* Número do problema (inteiro)
* Etiquetas (array)
* Repo (string in `"owner/name"` format)
* Issue number (integer)
* Labels (array)
Você pode analisar a carga para obter o repositório e o número do problema. Como o nome da etiqueta será sempre o mesmo (`needs-response`) você pode passá-lo como uma string de caracteres codificados no array de etiquetas. Ao juntar essas peças, seu método atualizado pode parecer com isto:
You can parse the payload to get both the repo and the issue number. Since the label name will always be the same (`needs-response`), you can pass it as a hardcoded string in the labels array. Putting these pieces together, your updated method might look like this:
``` ruby
# When an issue is opened, add a label
@@ -184,56 +183,56 @@ def handle_issue_opened_event(payload)
end
```
Tente abrir um novo problema no seu repositório de teste e veja o que acontece! Se nada acontecer imediatamente, tente atualizar.
Try opening a new issue in your test repository and see what happens! If nothing happens right away, try refreshing.
Você não verá muitos coisas no Terminal, _mas_ você deve ver que um usuário bot adicionou uma etiqueta ao problema.
You won't see much in the Terminal, _but_ you should see that a bot user has added a label to the issue.
{% note %}
**Observação:** Quando os aplicativos GitHub realizam ações pela API, como, por exemplo, adicionar etiquetas, o GitHub mostra essas ações como sendo realizadas por contas _do bot_. Para obter mais informações, consulte "[Máquina vs. contas de bot](/apps/differences-between-apps/#machine-vs-bot-accounts)".
**Note:** When GitHub Apps take actions via the API, such as adding labels, GitHub shows these actions as being performed by _bot_ accounts. For more information, see "[Machine vs. bot accounts](/apps/differences-between-apps/#machine-vs-bot-accounts)."
{% endnote %}
Se for assim, parabéns! Você construiu um aplicativo funcional com sucesso! 🎉
If so, congrats! You've successfully built a working app! 🎉
Você pode ver o código final no `server.rb` no [repositório do modelo do aplicativo](https://github.com/github-developer/using-the-github-api-in-your-app).
You can see the final code in `server.rb` in the [app template repository](https://github.com/github-developer/using-the-github-api-in-your-app).
Consulte "[Próximos passos](#next-steps)" para ter ideias sobre aonde você pode ir a partir daqui.
See "[Next steps](#next-steps)" for ideas about where you can go from here.
## Solução de Problemas
## Troubleshooting
Aqui estão alguns problemas comuns e algumas soluções sugeridas. Se você tiver qualquer outro problema, poderá pedir ajuda ou orientação em {% data variables.product.prodname_support_forum_with_url %}.
Here are a few common problems and some suggested solutions. If you run into any other trouble, you can ask for help or advice in the {% data variables.product.prodname_support_forum_with_url %}.
* **P:** Meu servidor não está ouvindo eventos! O cliente da Smee está sendo executado em uma janela de Terminal, e eu estou enviando eventos para o github.com. abrindo novos problemas, mas não vejo nenhuma saída na janela do Terminal onde estou executando o servidor.
* **Q:** My server isn't listening to events! The Smee client is running in a Terminal window, and I'm sending events on GitHub.com by opening new issues, but I don't see any output in the Terminal window where I'm running the server.
**A:** Você pode não ter o domínio correto da Smee nas configurações do seu aplicativo. Visite a sua [página de configurações do aplicativo](https://github.com/settings/apps) e verifique novamente os campos exibidos em "[Registre um novo aplicativo com GitHub](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app)". Certifique-se de que o domínio nesses campos corresponde ao domínio que você usou no seu comando `smee -u <unique_channel>` em "[Iniciar um novo canal da Smee](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel)".
**A:** You may not have the correct Smee domain in your app settings. Visit your [app settings page](https://github.com/settings/apps) and double-check the fields shown in "[Register a new app with GitHub](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app)." Make sure the domain in those fields matches the domain you used in your `smee -u <unique_channel>` command in "[Start a new Smee channel](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel)."
* **P:** Meu aplicativo não funciona! Eu abri um novo problema, mas mesmo depois de atualizado, nenhuma etiqueta foi adicionado a ele.
* **Q:** My app doesn't work! I opened a new issue, but even after refreshing, no label has been added to it.
**R:** Certifique-se de que todos os pontos a seguir sejam verdadeiros:
**A:** Make sure all of the following are true:
* Você [instalou o aplicativo](/apps/quickstart-guides/setting-up-your-development-environment/#step-7-install-the-app-on-your-account) no repositório onde você está abrindo o problema.
* Seu [Cliente da Smee em execução](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel) em uma janela do Terminal.
* Seu [servidor web está em execução](/apps/quickstart-guides/setting-up-your-development-environment/#step-6-start-the-server) sem erros em outra janela do Terminal.
* Seu aplicativo tem permissões de [leitura & e gravação permissões em problemas e está assinado a eventos do problema](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel).
* Você [verificou seu e-mail](#step-1-update-app-permissions) depois de atualizar as permissões e aceitou as novas permissões.
* You [installed the app](/apps/quickstart-guides/setting-up-your-development-environment/#step-7-install-the-app-on-your-account) on the repository where you're opening the issue.
* Your [Smee client is running](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel) in a Terminal window.
* Your [web server is running](/apps/quickstart-guides/setting-up-your-development-environment/#step-6-start-the-server) with no errors in another Terminal window.
* Your app has [read & write permissions on issues and is subscribed to issue events](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel).
* You [checked your email](#step-1-update-app-permissions) after updating the permissions and accepted the new permissions.
## Conclusão
## Conclusion
Depois de analisar este guia, você aprendeu os componentes básicos para o desenvolvimento dos aplicativos GitHub! Para resumir, você:
After walking through this guide, you've learned the basic building blocks for developing GitHub Apps! To review, you:
* Programou seu aplicativo para ouvir eventos
* Usou a biblioteca do Octokit.rb para fazer operações da API REST
* Programmed your app to listen for events
* Used the Octokit.rb library to do REST API operations
## Próximas etapas
## Next steps
Aqui estão algumas ideias do que você pode fazer a seguir:
Here are some ideas for what you can do next:
* [Reescreva seu aplicativo usando o GraphQL](https://developer.github.com/changes/2018-04-30-graphql-supports-github-apps/)!
* Reescreva seu aplicativo no Node.js usando o [Probot](https://github.com/probot/probot)!
* Faça o aplicativo verificar se a etiqueta `needs-response` já existe no problema, e, em caso negativo, adicione-a.
* Quando o bot adiciona a etiqueta com sucesso, é exibida uma mensagem no Terminal. (Dica: compare o ID da etiqueta `needs-response` com o ID da etiqueta na carga como uma condição para sua mensagem para que a mensagem seja exibida somente quando a etiqueta relevante for adicionada e não qualquer outra etiqueta.)
* Adicione uma página inicial ao seu aplicativo e conecte um [encaminhamento do Sinatra](https://github.com/sinatra/sinatra#routes) para isso.
* Mova o seu código para um servidor hospedado (como o Heroku). Não se esqueça de atualizar as configurações do seu aplicativo com o novo domínio.
* Compartilhe seu projeto ou receba orientações no {% data variables.product.prodname_support_forum_with_url %}{% ifversion fpt or ghec %}
* Você construiu um aplicativo novo brilhante que você considera que outras pessoas podem achar útil? [Adicione-o ao GitHub Marketplace](/apps/marketplace/creating-and-submitting-your-app-for-approval/)!{% endif %}
* [Rewrite your app using GraphQL](https://developer.github.com/changes/2018-04-30-graphql-supports-github-apps/)!
* Rewrite your app in Node.js using [Probot](https://github.com/probot/probot)!
* Have the app check whether the `needs-response` label already exists on the issue, and if not, add it.
* When the bot successfully adds the label, show a message in the Terminal. (Hint: compare the `needs-response` label ID with the ID of the label in the payload as a condition for your message, so that the message only displays when the relevant label is added and not some other label.)
* Add a landing page to your app and hook up a [Sinatra route](https://github.com/sinatra/sinatra#routes) for it.
* Move your code to a hosted server (like Heroku). Don't forget to update your app settings with the new domain.
* Share your project or get advice in the {% data variables.product.prodname_support_forum_with_url %}{% ifversion fpt or ghec %}
* Have you built a shiny new app you think others might find useful? [Add it to GitHub Marketplace](/apps/marketplace/creating-and-submitting-your-app-for-approval/)!{% endif %}

View File

@@ -1,12 +1,12 @@
---
title: Aplicativos
intro: Você pode automatizar e agilizar seu fluxo de trabalho criando seus próprios aplicativos.
title: Apps
intro: You can automate and streamline your workflow by building your own apps.
redirect_from:
- /early-access/integrations/
- /early-access/integrations/authentication/
- /early-access/integrations/install-an-integration/
- /apps/adding-integrations/
- /apps/building-integrations/setting-up-a-new-integration/about-integrations/
- /early-access/integrations
- /early-access/integrations/authentication
- /early-access/integrations/install-an-integration
- /apps/adding-integrations
- /apps/building-integrations/setting-up-a-new-integration/about-integrations
- /apps
- /v3/integrations
versions:

View File

@@ -1,8 +1,8 @@
---
title: Apagar um aplicativo GitHub
title: Deleting a GitHub App
intro: '{% data reusables.shortdesc.deleting_github_apps %}'
redirect_from:
- /apps/building-integrations/managing-github-apps/deleting-a-github-app/
- /apps/building-integrations/managing-github-apps/deleting-a-github-app
- /apps/managing-github-apps/deleting-a-github-app
- /developers/apps/deleting-a-github-app
versions:
@@ -13,12 +13,15 @@ versions:
topics:
- GitHub Apps
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.github_apps %}
4. Selecione o aplicativo do GitHub que você deseja excluir. ![Seleção de aplicativo](/assets/images/github-apps/github_apps_select-app.png)
4. Select the GitHub App you want to delete.
![App selection](/assets/images/github-apps/github_apps_select-app.png)
{% data reusables.user-settings.github_apps_advanced %}
6. Clique em **Excluir o aplicativo GitHub**. ![Botão para excluir um aplicativo GitHub](/assets/images/github-apps/github_apps_delete.png)
7. Digite o nome do GitHub App para confirmar que você deseja excluí-lo. ![Campo para confirmar o nome do aplicativo do GitHub que você deseja excluir](/assets/images/github-apps/github_apps_delete_integration_name.png)
8. Clique em **Eu entendo as consequências. Exclua este aplicativo GitHub**. ![Botão para confirmar a exclusão do seu aplicativo GitHub](/assets/images/github-apps/github_apps_confirm_deletion.png)
6. Click **Delete GitHub App**.
![Button to delete a GitHub App](/assets/images/github-apps/github_apps_delete.png)
7. Type the name of the GitHub App to confirm you want to delete it.
![Field to confirm the name of the GitHub App you want to delete](/assets/images/github-apps/github_apps_delete_integration_name.png)
8. Click **I understand the consequences, delete this GitHub App**.
![Button to confirm the deletion of your GitHub App](/assets/images/github-apps/github_apps_confirm_deletion.png)

View File

@@ -1,8 +1,8 @@
---
title: Editar permissões do aplicativo GitHub
title: Editing a GitHub App's permissions
intro: '{% data reusables.shortdesc.editing_permissions_for_github_apps %}'
redirect_from:
- /apps/building-integrations/managing-github-apps/editing-a-github-app-s-permissions/
- /apps/building-integrations/managing-github-apps/editing-a-github-app-s-permissions
- /apps/managing-github-apps/editing-a-github-app-s-permissions
- /developers/apps/editing-a-github-apps-permissions
versions:
@@ -12,21 +12,26 @@ versions:
ghec: '*'
topics:
- GitHub Apps
shortTitle: Editar permissões
shortTitle: Edit permissions
---
{% note %}
**Observação:** As permissões atualizadas não terão efeito sobre uma instalação até que o proprietário da conta ou organização aprove as alterações. Você pode usar o [webhook do InstallationEvent](/webhooks/event-payloads/#installation) para descobrir quando as pessoas aceitam novas permissões para seu aplicativo. Uma exceção são as [permissões de nível de usuário](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#user-level-permissions), que não exigem que o proprietário da conta aprove as alterações de permissão.
**Note:** Updated permissions won't take effect on an installation until the owner of the account or organization approves the changes. You can use the [InstallationEvent webhook](/webhooks/event-payloads/#installation) to find out when people accept new permissions for your app. One exception is [user-level permissions](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#user-level-permissions), which don't require the account owner to approve permission changes.
{% endnote %}
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.github_apps %}
4. Selecione o aplicativo GitHub cujas permissões você deseja alterar. ![Seleção de aplicativo](/assets/images/github-apps/github_apps_select-app.png)
5. Na barra lateral esquerda, clique em **Permissions & webhooks** (Permissões e webhooks). ![Permissões e webhooks](/assets/images/github-apps/github_apps_permissions_and_webhooks.png)
6. Modifique as permissões que você deseja alterar. Para cada tipo de permissão, selecione "Somente leitura", "Ler & gravar" ou "Sem acesso" no menu suspenso. ![Seleção de permissões para o seu aplicativo GitHub](/assets/images/github-apps/github_apps_permissions_post2dot13.png)
7. Em "Assinar eventos", selecione quaisquer eventos que você deseja que seu aplicativo assine. ![Seleção de permissões para seu aplicativo GitHub assinar eventos](/assets/images/github-apps/github_apps_permissions_subscribe_to_events.png)
8. Opcionalmente, em "Adicionar uma observação para os usuários", adicione uma observação informando aos usuários o por que você esta mudando as permissões que o seu aplicativo GitHub solicita. ![Caixa de entrada para adicionar uma observação aos usuários explicando por que as permissões do seu aplicativo GitHub foram alteradas](/assets/images/github-apps/github_apps_permissions_note_to_users.png)
9. Clique em **Save changes** (Salvar alterações). ![Botão para salvar alterações de permissões](/assets/images/github-apps/github_apps_save_changes.png)
4. Select the GitHub App whose permissions you want to change.
![App selection](/assets/images/github-apps/github_apps_select-app.png)
5. In the left sidebar, click **Permissions & webhooks**.
![Permissions and webhooks](/assets/images/github-apps/github_apps_permissions_and_webhooks.png)
6. Modify the permissions you'd like to change. For each type of permission, select either "Read-only", "Read & write", or "No access" from the dropdown.
![Permissions selections for your GitHub App](/assets/images/github-apps/github_apps_permissions_post2dot13.png)
7. In "Subscribe to events", select any events to which you'd like to subscribe your app.
![Permissions selections for subscribing your GitHub App to events](/assets/images/github-apps/github_apps_permissions_subscribe_to_events.png)
8. Optionally, in "Add a note to users", add a note telling your users why you are changing the permissions that your GitHub App requests.
![Input box to add a note to users explaining why your GitHub App permissions have changed](/assets/images/github-apps/github_apps_permissions_note_to_users.png)
9. Click **Save changes**.
![Button to save permissions changes](/assets/images/github-apps/github_apps_save_changes.png)

View File

@@ -1,8 +1,8 @@
---
title: Gerenciar aplicativos GitHub
intro: 'Após criar e registrar um aplicativo GitHub, você poderá fazer modificações no aplicativo, alterar as permissões, transferir propriedade e e excluir o aplicativo.'
title: Managing GitHub Apps
intro: 'After you create and register a GitHub App, you can make modifications to the app, change permissions, transfer ownership, and delete the app.'
redirect_from:
- /apps/building-integrations/managing-github-apps/
- /apps/building-integrations/managing-github-apps
- /apps/managing-github-apps
versions:
fpt: '*'

View File

@@ -2,10 +2,10 @@
title: Making a GitHub App public or private
intro: '{% data reusables.shortdesc.making-a-github-app-public-or-private %}'
redirect_from:
- /apps/building-integrations/setting-up-and-registering-github-apps/about-installation-options-for-github-apps/
- /apps/building-github-apps/installation-options-for-github-apps/
- /apps/building-integrations/managing-github-apps/changing-a-github-app-s-installation-option/
- /apps/managing-github-apps/changing-a-github-app-s-installation-option/
- /apps/building-integrations/setting-up-and-registering-github-apps/about-installation-options-for-github-apps
- /apps/building-github-apps/installation-options-for-github-apps
- /apps/building-integrations/managing-github-apps/changing-a-github-app-s-installation-option
- /apps/managing-github-apps/changing-a-github-app-s-installation-option
- /apps/managing-github-apps/making-a-github-app-public-or-private
- /developers/apps/making-a-github-app-public-or-private
versions:

View File

@@ -1,8 +1,8 @@
---
title: Modificar um aplicativo GitHub
title: Modifying a GitHub App
intro: '{% data reusables.shortdesc.modifying_github_apps %}'
redirect_from:
- /apps/building-integrations/managing-github-apps/modifying-a-github-app/
- /apps/building-integrations/managing-github-apps/modifying-a-github-app
- /apps/managing-github-apps/modifying-a-github-app
- /developers/apps/modifying-a-github-app
versions:
@@ -13,10 +13,11 @@ versions:
topics:
- GitHub Apps
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.github_apps %}
{% data reusables.user-settings.modify_github_app %}
5. Em "Informações básicas", modifique as informações do aplicativo GitHub que você gostaria de alterar. ![Seção de informações básicas para o seu aplicativo GitHub](/assets/images/github-apps/github_apps_basic_information.png)
6. Clique em **Save changes** (Salvar alterações). ![Botão para salvar alterações para o seu aplicativo GitHub](/assets/images/github-apps/github_apps_save_changes.png)
5. In "Basic information", modify the GitHub App information that you'd like to change.
![Basic information section for your GitHub App](/assets/images/github-apps/github_apps_basic_information.png)
6. Click **Save changes**.
![Button to save changes for your GitHub App](/assets/images/github-apps/github_apps_save_changes.png)

View File

@@ -1,8 +1,8 @@
---
title: Transferir a propriedade de um aplicativo GitHub
title: Transferring ownership of a GitHub App
intro: '{% data reusables.shortdesc.transferring_ownership_of_github_apps %}'
redirect_from:
- /apps/building-integrations/managing-github-apps/transferring-ownership-of-a-github-app/
- /apps/building-integrations/managing-github-apps/transferring-ownership-of-a-github-app
- /apps/managing-github-apps/transferring-ownership-of-a-github-app
- /developers/apps/transferring-ownership-of-a-github-app
versions:
@@ -12,15 +12,19 @@ versions:
ghec: '*'
topics:
- GitHub Apps
shortTitle: Transferir propriedade
shortTitle: Transfer ownership
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.github_apps %}
4. Selecione o aplicativo GitHub cuja propriedade você deseja transferir. ![Seleção de aplicativo](/assets/images/github-apps/github_apps_select-app.png)
4. Select the GitHub App whose ownership you want to transfer.
![App selection](/assets/images/github-apps/github_apps_select-app.png)
{% data reusables.user-settings.github_apps_advanced %}
6. Clique em **Transferir propriedade**. ![Botão para transferir a propriedade](/assets/images/github-apps/github_apps_transfer_ownership.png)
7. Digite o nome do aplicativo do GitHub que você deseja transferir. ![Campo para inserir o nome do aplicativo a ser transferido](/assets/images/github-apps/github_apps_transfer_app_name.png)
8. Digite o nome do usuário ou organização para o qual você deseja transferir o aplicativo GitHub. ![Campo para inserir o usuário ou organização para o qual transferir](/assets/images/github-apps/github_apps_transfer_new_owner.png)
9. Clique **Transferir este aplicativo GitHub**. ![Botão para confirmar a transferência de um aplicativo GitHub](/assets/images/github-apps/github_apps_transfer_integration.png)
6. Click **Transfer ownership**.
![Button to transfer ownership](/assets/images/github-apps/github_apps_transfer_ownership.png)
7. Type the name of the GitHub App you want to transfer.
![Field to enter the name of the app to transfer](/assets/images/github-apps/github_apps_transfer_app_name.png)
8. Type the name of the user or organization you want to transfer the GitHub App to.
![Field to enter the user or org to transfer to](/assets/images/github-apps/github_apps_transfer_new_owner.png)
9. Click **Transfer this GitHub App**.
![Button to confirm the transfer of a GitHub App](/assets/images/github-apps/github_apps_transfer_integration.png)

View File

@@ -1,8 +1,8 @@
---
title: Excluir um aplicativo OAuth
title: Deleting an OAuth App
intro: '{% data reusables.shortdesc.deleting_oauth_apps %}'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/deleting-an-oauth-app/
- /apps/building-integrations/managing-oauth-apps/deleting-an-oauth-app
- /apps/managing-oauth-apps/deleting-an-oauth-app
- /developers/apps/deleting-an-oauth-app
versions:
@@ -13,10 +13,12 @@ versions:
topics:
- OAuth Apps
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.oauth_apps %}
4. Selecione o {% data variables.product.prodname_oauth_app %} que você deseja modificar. ![Seleção de aplicativo](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png)
5. Clique em **Excluir o aplicativo**. ![Botão para excluir o aplicativo](/assets/images/oauth-apps/oauth_apps_delete_application.png)
6. Clique em **Excluir este aplicativo OAuth**. ![Botão para confirmar a exclusão](/assets/images/oauth-apps/oauth_apps_delete_confirm.png)
4. Select the {% data variables.product.prodname_oauth_app %} you want to modify.
![App selection](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png)
5. Click **Delete application**.
![Button to delete the application](/assets/images/oauth-apps/oauth_apps_delete_application.png)
6. Click **Delete this OAuth Application**.
![Button to confirm the deletion](/assets/images/oauth-apps/oauth_apps_delete_confirm.png)

View File

@@ -1,8 +1,8 @@
---
title: Gerenciar aplicativos OAuth
intro: 'Após criar e registrar um aplicativo OAuth, você poderá fazer modificações no aplicativo, alterar as permissões, transferir propriedade e e excluir o aplicativo.'
title: Managing OAuth Apps
intro: 'After you create and register an OAuth App, you can make modifications to the app, change permissions, transfer ownership, and delete the app.'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/
- /apps/building-integrations/managing-oauth-apps
- /apps/managing-oauth-apps
versions:
fpt: '*'

View File

@@ -1,8 +1,8 @@
---
title: Modificar um aplicativo OAuth
title: Modifying an OAuth App
intro: '{% data reusables.shortdesc.modifying_oauth_apps %}'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/modifying-an-oauth-app/
- /apps/building-integrations/managing-oauth-apps/modifying-an-oauth-app
- /apps/managing-oauth-apps/modifying-an-oauth-app
- /developers/apps/modifying-an-oauth-app
versions:
@@ -13,10 +13,9 @@ versions:
topics:
- OAuth Apps
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.oauth_apps %}
{% data reusables.user-settings.modify_oauth_app %}
1. Modifique as informações do {% data variables.product.prodname_oauth_app %} que você gostaria de alterar.
1. Modify the {% data variables.product.prodname_oauth_app %} information that you'd like to change.
{% data reusables.user-settings.update_oauth_app %}

View File

@@ -1,8 +1,8 @@
---
title: Transferir a propriedade de um aplicativo OAuth
title: Transferring ownership of an OAuth App
intro: '{% data reusables.shortdesc.transferring_ownership_of_oauth_apps %}'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/transferring-ownership-of-an-oauth-app/
- /apps/building-integrations/managing-oauth-apps/transferring-ownership-of-an-oauth-app
- /apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app
- /developers/apps/transferring-ownership-of-an-oauth-app
versions:
@@ -12,14 +12,18 @@ versions:
ghec: '*'
topics:
- OAuth Apps
shortTitle: Transferir propriedade
shortTitle: Transfer ownership
---
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.oauth_apps %}
4. Selecione o {% data variables.product.prodname_oauth_app %} que você deseja modificar. ![Seleção de aplicativo](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png)
5. Clique em **Transferir propriedade**. ![Botão para transferir a propriedade](/assets/images/oauth-apps/oauth_apps_transfer_ownership.png)
6. Digite o nome do {% data variables.product.prodname_oauth_app %} que você deseja transferir. ![Campo para inserir o nome do aplicativo a ser transferido](/assets/images/oauth-apps/oauth_apps_transfer_oauth_name.png)
7. Digite o nome do usuário ou organização para o qual você deseja transferir o {% data variables.product.prodname_oauth_app %} . ![Campo para inserir o usuário ou organização para o qual transferir](/assets/images/oauth-apps/oauth_apps_transfer_new_owner.png)
8. Clique em **Transferir este aplicativo**. ![Botão para transferir o aplicativo](/assets/images/oauth-apps/oauth_apps_transfer_application.png)
4. Select the {% data variables.product.prodname_oauth_app %} you want to modify.
![App selection](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png)
5. Click **Transfer ownership**.
![Button to transfer ownership](/assets/images/oauth-apps/oauth_apps_transfer_ownership.png)
6. Type the name of the {% data variables.product.prodname_oauth_app %} you want to transfer.
![Field to enter the name of the app to transfer](/assets/images/oauth-apps/oauth_apps_transfer_oauth_name.png)
7. Type the name of the user or organization you want to transfer the {% data variables.product.prodname_oauth_app %} to.
![Field to enter the user or org to transfer to](/assets/images/oauth-apps/oauth_apps_transfer_new_owner.png)
8. Click **Transfer this application**.
![Button to transfer the application](/assets/images/oauth-apps/oauth_apps_transfer_application.png)

View File

@@ -1,8 +1,8 @@
---
title: Solucionar problemas de erros de solicitação de autorização
title: Troubleshooting authorization request errors
intro: '{% data reusables.shortdesc.troubleshooting_authorization_request_errors_oauth_apps %}'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/troubleshooting-authorization-request-errors/
- /apps/building-integrations/managing-oauth-apps/troubleshooting-authorization-request-errors
- /apps/managing-oauth-apps/troubleshooting-authorization-request-errors
- /developers/apps/troubleshooting-authorization-request-errors
versions:
@@ -12,38 +12,42 @@ versions:
ghec: '*'
topics:
- GitHub Apps
shortTitle: Solucionar problemas de autorização
shortTitle: Troubleshoot authorization
---
## Application suspended
## Aplicativo suspenso
Se o aplicativo OAuth que você configurou foi suspenso (em razão de abusos, spam, ou de má utilização da API), o GitHub irá redirecionar para a URL de chamada de retorno registrada, usando os parâmetros a seguir para resumir o erro:
If the OAuth App you set up has been suspended (due to reported abuse, spam, or a mis-use of the API), GitHub will redirect to the registered callback URL using the following parameters to summarize the error:
http://your-application.com/callback?error=application_suspended
&error_description=Your+application+has+been+suspended.+Contact+support@github.com.
&error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23application-suspended
&state=xyz
Para resolver problemas com aplicativos suspensos, entre em contato com {% data variables.contact.contact_support %}.
To solve issues with suspended applications, please contact {% data variables.contact.contact_support %}.
## Erro no redirecionamento do URI
## Redirect URI mismatch
Se você fornecer um `redirect_uri` que não corresponde ao que você registrou com o seu aplicativo, o GitHub irá redirecionar para a URL de chamada de retorno registrada com os parâmetros a seguir resumindo o erro:
If you provide a `redirect_uri` that doesn't match what you've registered with your application, GitHub will redirect to the registered callback URL with the following parameters summarizing the error:
http://your-application.com/callback?error=redirect_uri_mismatch
&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.
&error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23redirect-uri-mismatch
&state=xyz
Para corrigir este erro, ou forneça um `redirect_uri` que corresponda ao que você registrou ou deixe de fora este parâmetro para usar o padrão registrado com o seu aplicativo.
To correct this error, either provide a `redirect_uri` that matches what you registered or leave out this parameter to use the default one registered with your application.
### Acesso Negado
### Access denied
Se o usuário rejeitar o acesso ao seu aplicativo, o GitHub irá redirecionar para a URL de chamada de retorno registrada com os parâmetros a seguir resumindo o erro:
If the user rejects access to your application, GitHub will redirect to
the registered callback URL with the following parameters summarizing
the error:
http://your-application.com/callback?error=access_denied
&error_description=The+user+has+denied+your+application+access.
&error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23access-denied
&state=xyz
Não há nada que você possa fazer aqui, pois os usuários são livres para escolher não usar seu aplicativo. Frequentemente, os usuários irão apenas apenas fechar a janela ou pressionar "voltar" em seu navegador. Portanto, é provável que você nunca veja esse erro.
There's nothing you can do here as users are free to choose not to use
your application. More often than not, users will just close the window
or press back in their browser, so it is likely that you'll never see
this error.

View File

@@ -1,8 +1,8 @@
---
title: Solucionar problemas de erros na solicitação de token de acesso do OAuth
title: Troubleshooting OAuth App access token request errors
intro: '{% data reusables.shortdesc.troubleshooting_access_token_reques_errors_oauth_apps %}'
redirect_from:
- /apps/building-integrations/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors/
- /apps/building-integrations/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors
- /apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors
- /developers/apps/troubleshooting-oauth-app-access-token-request-errors
versions:
@@ -12,18 +12,18 @@ versions:
ghec: '*'
topics:
- OAuth Apps
shortTitle: Solucionar problemas de solicitação do token
shortTitle: Troubleshoot token request
---
{% note %}
**Observação:** Esses exemplos mostram apenas respostas do JSON.
**Note:** These examples only show JSON responses.
{% endnote %}
## Credenciais do cliente incorretas
## Incorrect client credentials
Se o cliente\_id e o cliente\_secret que você inseriu estiverem incorretos, você receberá essa resposta de erro.
If the client\_id and or client\_secret you pass are incorrect you will
receive this error response.
```json
{
@@ -33,11 +33,12 @@ Se o cliente\_id e o cliente\_secret que você inseriu estiverem incorretos, voc
}
```
Para resolver este erro, verifique se você tem as credenciais corretas para o seu {% data variables.product.prodname_oauth_app %}. Verifique novamente o `client_id` e `client_secret` para certificar-se de que estão corretos e que são informados corretamente para {% data variables.product.product_name %}.
To solve this error, make sure you have the correct credentials for your {% data variables.product.prodname_oauth_app %}. Double check the `client_id` and `client_secret` to make sure they are correct and being passed correctly
to {% data variables.product.product_name %}.
## Erro no redirecionamento do URI
## Redirect URI mismatch
Se você fornecer um `redirect_uri` que não coincide com o que você registrou com o seu {% data variables.product.prodname_oauth_app %}, você receberá esta mensagem de erro:
If you provide a `redirect_uri` that doesn't match what you've registered with your {% data variables.product.prodname_oauth_app %}, you'll receive this error message:
```json
{
@@ -47,9 +48,11 @@ Se você fornecer um `redirect_uri` que não coincide com o que você registrou
}
```
Para corrigir este erro, forneça um `redirect_uri` que corresponda ao que você registrou ou deixe este parâmetro de fora para usar o padrão registrado com o seu aplicativo.
To correct this error, either provide a `redirect_uri` that matches what
you registered or leave out this parameter to use the default one
registered with your application.
## Código de verificação incorreto
## Bad verification code
```json
{
@@ -60,7 +63,9 @@ Para corrigir este erro, forneça um `redirect_uri` que corresponda ao que você
}
```
Se o código de verificação que você informou estiver incorreto, expirado, ou não corresponder ao que você recebeu na primeira solicitação de autorização, você receberá este erro.
If the verification code you pass is incorrect, expired, or doesn't
match what you received in the first request for authorization you will
receive this error.
```json
{
@@ -70,4 +75,5 @@ Se o código de verificação que você informou estiver incorreto, expirado, ou
}
```
Para corrigir este erro, inicie o [processo de autorização do OAuth novamente](/apps/building-oauth-apps/authorizing-oauth-apps/) e obtenha um novo código.
To solve this error, start the [OAuth authorization process again](/apps/building-oauth-apps/authorizing-oauth-apps/)
and get a new code.

View File

@@ -2,11 +2,11 @@
title: Requirements for listing an app
intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.'
redirect_from:
- /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/
- /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/
- /apps/marketplace/getting-started-with-github-marketplace-listings/requirements-for-listing-an-app-on-github-marketplace/
- /apps/marketplace/creating-and-submitting-your-app-for-approval/requirements-for-listing-an-app-on-github-marketplace/
- /apps/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/
- /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace
- /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace
- /apps/marketplace/getting-started-with-github-marketplace-listings/requirements-for-listing-an-app-on-github-marketplace
- /apps/marketplace/creating-and-submitting-your-app-for-approval/requirements-for-listing-an-app-on-github-marketplace
- /apps/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace
- /marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace
- /developers/github-marketplace/requirements-for-listing-an-app
versions:

View File

@@ -1,63 +1,63 @@
---
title: Práticas de segurança recomendadas para aplicativos
intro: 'Diretrizes para a preparação de um aplicativo seguro para compartilhar em {% data variables.product.prodname_marketplace %}.'
title: Security best practices for apps
intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.'
redirect_from:
- /apps/marketplace/getting-started/security-review-process/
- /apps/marketplace/getting-started/security-review-process
- /marketplace/getting-started/security-review-process
- /developers/github-marketplace/security-review-process-for-submitted-apps
- /developers/github-marketplace/security-best-practices-for-apps
shortTitle: Práticas recomendadas de segurança
shortTitle: Security best practice
versions:
fpt: '*'
ghec: '*'
topics:
- Marketplace
---
If you follow these best practices it will help you to provide a secure user experience.
Se você seguir estas práticas recomendadas, elas ajudarão você a oferecer uma experiência de usuário segura.
## Authorization, authentication, and access control
## Autorização, autenticação e controle de acesso
We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details.
- Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia.
- Apps should provide customers with a way to delete their account, without having to email or call a support person.
- Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately.
- Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code.
- Apps should not share service accounts such as email or database services to manage your SaaS service.
- All services used in your app should have unique login and password credentials.
- Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties.
- Apps should not use personal access tokens to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps):
- OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/).
- GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation).
Recomendamos criar um aplicativo GitHub em vez de um aplicativo OAuth. {% data reusables.marketplace.github_apps_preferred %}. Consulte "[Diferenças entre os aplicativos GitHub e os aplicativos OAuth](/apps/differences-between-apps/)" para obter mais informações.
- Os aplicativos devem usar o princípio do menor privilégio e devem solicitar apenas os escopos do OAuth e as permissões do aplicativo GitHub de que o aplicativo precisa para realizar suas funcionalidades pretendidas. Para obter mais informações, consulte [O princípio do menor privilégio](https://en.wikipedia.org/wiki/Principle_of_least_privilege) na Wikipédia.
- Os aplicativos devem fornecer aos clientes uma forma de excluir sua conta, sem ter de enviar um e-mail ou ligar para uma pessoa de suporte.
- Os aplicativos não devem compartilhar tokens entre diferentes implementações do aplicativo. Por exemplo, um aplicativo para computador deve ter um token separado de um aplicativo baseado na web. Os tokens individuais permitem que cada aplicativo solicite o acesso necessário aos recursos do GitHub separadamente.
- Crie seu aplicativo com diferentes funções de usuário, dependendo da funcionalidade necessária para cada tipo de usuário. Por exemplo, um usuário-padrão não deve ter acesso à funcionalidade de administração, e os gerentes de cobrança podem não precisar de acesso push ao código de repositório.
- Os aplicativos não devem compartilhar contas de serviço como, por exemplo, e-mail ou serviços de banco de dados para gerenciar seu serviço de SaaS.
- Todos os serviços usados no seu aplicativo devem ter credenciais de login e senha exclusivas.
- O acesso privilegiado de administrador à infraestrutura de hospedagem de produção deve ser concedido apenas a engenheiros e funcionários com funções administrativas.
- Os aplicativos não devem usar tokens de acesso pessoal para efetuar a autenticação e devem autenticar-se como um [aplicativo OAuth](/apps/about-apps/#about-oauth-apps) ou um [aplicativo GitHub](/apps/about-apps/#about-github-apps):
- Os aplicativos OAuth devem efetuar a autenticação usando um [token do OAuth](/apps/building-oauth-apps/authorizing-oauth-apps/).
- Os aplicativos GitHub devem efetuar a autenticação usando um [Token web do JSON (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app),, [Token do OAuth](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/) ou um [token de acesso à instalação](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation).
## Data protection
## Proteção de dados
- Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git.
- Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables).
- Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub.
- Apps should not require the user to provide their GitHub password.
- Apps should encrypt tokens, client IDs, and client secrets.
- Os aplicativos devem criptografar dados transferidos para internet pública usando HTTPS, com um certificado TLS válido ou SSH para o Git.
- Os aplicativos devem armazenar com segurança o ID do cliente e as chaves secretas do cliente. Recomendamos armazená-las como [variáveis de ambiente](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables).
- Os aplicativos devem excluir todos os dados do usuário no prazo de 30 dias após receber uma solicitação do usuário ou dentro de 30 dias após o fim da relação jurídica do usuário com o GitHub.
- Aplicativos não devem exigir que o usuário forneça sua senha do GitHub.
- Os aplicativos devem criptografar tokens, IDs de clientes e segredos de clientes.
## Logging and monitoring
## Registro e monitoramento
Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year.
A security log should include:
Os aplicativos devem ter capacidade de registro e monitoramento. Os registros dos aplicativos devem ser mantidos pelo menos 30 dias e arquivados pelo menos um ano. Um log de segurança deve incluir:
- Authentication and authorization events
- Service configuration changes
- Object reads and writes
- All user and group permission changes
- Elevation of role to admin
- Consistent timestamping for each event
- Source users, IP addresses, and/or hostnames for all logged actions
- Eventos de autenticação e autorização
- Alterações na configuração do serviço
- Leitura e gravação de objetos
- Todas as alterações de permissão do usuário e de grupo
- Elevação do papel para administrador
- Marca de tempo consistente para cada evento
- Usuários de origem, endereços IP e/ou nomes de host para todas as ações registradas
## Incident response workflow
## Fluxo de trabalho de resposta a incidente
To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident.
Para oferecer uma experiência segura aos usuários, você deve ter um plano de resposta de incidente claro em vigor antes de anunciar o seu aplicativo. Recomendamos ter uma equipe de resposta a incidentes de segurança e operações na sua empresa, em vez de usar um fornecedor terceiro. Você deve ter a capacidade de notificar {% data variables.product.product_name %} no prazo de 24 horas após a confirmação de um incidente.
For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template.
Para obter um exemplo de um fluxo de trabalho de resposta de incidente, consulte a "Política de Resposta de Violação de Dados" no [site do Instituto SANS](https://www.sans.org/information-security-policy/). Um documento breve com medidas claras a serem tomadas em caso de incidente é mais valioso do que um modelo político moroso.
## Vulnerability management and patching workflow
## Gerenciamento de vulnerabilidades e fluxo de trabalho de patch
You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability.
Você deveria realizar varreduras regulares de vulnerabilidades de infraestrutura de produção. Você deve classificar os resultados de verificações de vulnerabilidades e definir um período de tempo no qual você concorda em remediar a vulnerabilidade.
Se você não estiver pronto para criar um programa completo de gerenciamento de vulnerabilidades, é importante começar criando um processo de patching. Para obter orientações sobre a criação de uma política de gerenciamento de correções, consulte este artigo da TechRepublic "[Estabeleça uma política de gerenciamento de patch](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)".
If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)."

View File

@@ -1,10 +1,10 @@
---
title: Visualizar métricas para a sua listagem
intro: 'A página de Insights do {% data variables.product.prodname_marketplace %} exibe métricas para o seu {% data variables.product.prodname_github_app %}. Você pode usar as métricas para acompanhar o desempenho do seu {% data variables.product.prodname_github_app %} e tomar decisões mais informadas sobre os preços, planos, testes grátis, bem como visualizar os efeitos das campanhas de marketing.'
title: Viewing metrics for your listing
intro: 'The {% data variables.product.prodname_marketplace %} Insights page displays metrics for your {% data variables.product.prodname_github_app %}. You can use the metrics to track your {% data variables.product.prodname_github_app %}''s performance and make more informed decisions about pricing, plans, free trials, and how to visualize the effects of marketing campaigns.'
redirect_from:
- /apps/marketplace/managing-github-marketplace-listings/viewing-performance-metrics-for-a-github-marketplace-listing/
- /apps/marketplace/viewing-performance-metrics-for-a-github-marketplace-listing/
- /apps/marketplace/github-marketplace-insights/
- /apps/marketplace/managing-github-marketplace-listings/viewing-performance-metrics-for-a-github-marketplace-listing
- /apps/marketplace/viewing-performance-metrics-for-a-github-marketplace-listing
- /apps/marketplace/github-marketplace-insights
- /marketplace/github-marketplace-insights
- /developers/github-marketplace/viewing-metrics-for-your-listing
versions:
@@ -12,45 +12,45 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Visualizar métricas de anúncio
shortTitle: View listing metrics
---
Você pode visualizar as métricas do último dia (24 horas), semana, mês ou referente a todo o tempo em que seu {% data variables.product.prodname_github_app %} foi listada.
You can view metrics for the past day (24 hours), week, month, or for the entire duration of time that your {% data variables.product.prodname_github_app %} has been listed.
{% note %}
**Observação:** Como leva tempo para agregar dados, você notará um pequeno atraso nas datas exibidas. Ao selecionar um período de tempo, você poderá ver datas exatas para as métricas no topo da página.
**Note:** Because it takes time to aggregate data, you'll notice a slight delay in the dates shown. When you select a time period, you can see exact dates for the metrics at the top of the page.
{% endnote %}
## Métricas de desempenho
## Performance metrics
A página de Insights exibe essas métricas de desempenho para o período de tempo selecionado:
The Insights page displays these performance metrics, for the selected time period:
* **Valor da assinatura:** Receita total possível (em dólar) para assinaturas. Esse valor representa a receita possível, caso nenhum plano ou teste grátis seja cancelado e todas as transações de crédito forem bem sucedidas. O valor da assinatura inclui o valor integral dos planos que começam com um teste grátis no período de tempo selecionado, mesmo quando não há transações financeiras nesse período. O valor da assinatura também inclui o valor total dos planos atualizados no período de tempo selecionado, mas não inclui a quantia rateada. Para visualizar e fazer o download das transações individuais, consulte "[Transações do GitHub Marketplace](/marketplace/github-marketplace-transactions/)".
* **Visitantes:** Número de pessoas que visualizaram uma página na sua listagem de aplicativos GitHub. Este número inclui tanto visitantes conectados quanto desconectados.
* **Visualizações de página:** Número de páginas recebidas na listagem do seu aplicativo GitHub. Um único visitante pode gerar mais de uma exibição de página.
* **Subscription value:** Total possible revenue (in US dollars) for subscriptions. This value represents the possible revenue if no plans or free trials are cancelled and all credit transactions are successful. The subscription value includes the full value for plans that begin with a free trial in the selected time period, even when there are no financial transactions in that time period. The subscription value also includes the full value of upgraded plans in the selected time period but does not include the prorated amount. To see and download individual transactions, see "[GitHub Marketplace transactions](/marketplace/github-marketplace-transactions/)."
* **Visitors:** Number of people that have viewed a page in your GitHub Apps listing. This number includes both logged in and logged out visitors.
* **Pageviews:** Number of views the pages in your GitHub App's listing received. A single visitor can generate more than one pageview.
{% note %}
**Observação:** Seu valor de assinatura estimado pode ser muito maior que as transações processadas para este período.
**Note:** Your estimated subscription value could be much higher than the transactions processed for this period.
{% endnote %}
### Desempenho de conversão
### Conversion performance
* **Visitantes únicos da página de destino:** Número de pessoas que visualizaram a página inicial do seu aplicativo GitHub.
* **Visitantes únicos para a página de checkout:** Número de pessoas que visualizaram uma das páginas de checkout do seu aplicativo GitHub.
* **Página de checkout para novas assinaturas:** Número total de assinaturas pagas, testes grátis e assinaturas grátis. Veja o detalhamento de assinaturas totais para obter para o número específico de cada tipo de assinatura.
* **Unique visitors to landing page:** Number of people who viewed your GitHub App's landing page.
* **Unique visitors to checkout page:** Number of people who viewed one of your GitHub App's checkout pages.
* **Checkout page to new subscriptions:** Total number of paid subscriptions, free trials, and free subscriptions. See the "Breakdown of total subscriptions" for the specific number of each type of subscription.
![Perspectivas do Marketplace](/assets/images/marketplace/marketplace_insights.png)
![Marketplace insights](/assets/images/marketplace/marketplace_insights.png)
Para acessar as perspectivas do {% data variables.product.prodname_marketplace %}:
To access {% data variables.product.prodname_marketplace %} Insights:
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
{% data reusables.user-settings.marketplace_apps %}
4. Selecione o {% data variables.product.prodname_github_app %} para o qual você gostaria de ver perspectivas.
4. Select the {% data variables.product.prodname_github_app %} that you'd like to view Insights for.
{% data reusables.user-settings.edit_marketplace_listing %}
6. Clique na aba **Perspectivas**.
7. Opcionalmente, selecione um período de tempo diferente, clicando no menu suspenso Período, no canto superior direito da página de Insights. ![Período de tempo do Marketplace](/assets/images/marketplace/marketplace_insights_time_period.png)
6. Click the **Insights** tab.
7. Optionally, select a different time period by clicking the Period dropdown in the upper-right corner of the Insights page.
![Marketplace time period](/assets/images/marketplace/marketplace_insights_time_period.png)

View File

@@ -2,7 +2,7 @@
title: About GitHub Marketplace
intro: 'Learn about {% data variables.product.prodname_marketplace %} where you can share your apps and actions publicly with all {% data variables.product.product_name %} users.'
redirect_from:
- /apps/marketplace/getting-started/
- /apps/marketplace/getting-started
- /marketplace/getting-started
- /developers/github-marketplace/about-github-marketplace
versions:

View File

@@ -1,9 +1,9 @@
---
title: GitHub Marketplace
intro: 'Liste suas ferramentas no Markeplace do {% data variables.product.prodname_dotcom %} para os desenvolvedores usarem ou comprarem.'
intro: 'List your tools in {% data variables.product.prodname_dotcom %} Marketplace for developers to use or purchase.'
redirect_from:
- /apps/adding-integrations/listing-apps-on-github-marketplace/about-github-marketplace/
- /apps/marketplace/
- /apps/adding-integrations/listing-apps-on-github-marketplace/about-github-marketplace
- /apps/marketplace
- /marketplace
versions:
fpt: '*'

View File

@@ -1,11 +1,11 @@
---
title: Configurar um webhook para notificá-lo de alterações de plano
intro: 'Após [criar um rascunho da listagem do {% data variables.product.prodname_marketplace %} ](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/), você pode configurar um webhook que notifica você quando ocorrem alterações nos planos da conta do cliente. Após configurar o webhook, você pode [gerenciar os tipos de evento `marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) no seu aplicativo.'
title: Configuring a webhook to notify you of plan changes
intro: 'After [creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/), you can configure a webhook that notifies you when changes to customer account plans occur. After you configure the webhook, you can [handle the `marketplace_purchase` event types](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) in your app.'
redirect_from:
- /apps/adding-integrations/managing-listings-on-github-marketplace/adding-webhooks-for-a-github-marketplace-listing/
- /apps/marketplace/managing-github-marketplace-listings/adding-webhooks-for-a-github-marketplace-listing/
- /apps/marketplace/setting-up-github-marketplace-webhooks/creating-a-webhook-for-a-github-marketplace-listing/
- /apps/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook/
- /apps/adding-integrations/managing-listings-on-github-marketplace/adding-webhooks-for-a-github-marketplace-listing
- /apps/marketplace/managing-github-marketplace-listings/adding-webhooks-for-a-github-marketplace-listing
- /apps/marketplace/setting-up-github-marketplace-webhooks/creating-a-webhook-for-a-github-marketplace-listing
- /apps/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook
- /marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook
- /developers/github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes
versions:
@@ -13,33 +13,32 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Webhooks para mudanças de plano
shortTitle: Webhooks for plan changes
---
The {% data variables.product.prodname_marketplace %} event webhook can only be set up from your application's {% data variables.product.prodname_marketplace %} listing page. You can configure all other events from your [application's developer settings page](https://github.com/settings/developers). If you haven't created a {% data variables.product.prodname_marketplace %} listing, read "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" to learn how.
O evento do webhook do {% data variables.product.prodname_marketplace %} só pode ser configurado a partir da página de listagem {% data variables.product.prodname_marketplace %} do seu aplicativo. Você pode configurar todos os outros eventos a partir da [página de configurações de desenvolvedor do seu aplicativo](https://github.com/settings/developers). Se você não criou uma listagem do {% data variables.product.prodname_marketplace %}, leia "[Criando um rascunho da listagem {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" para aprender como fazê-lo.
## Creating a webhook
## Criar um webhook
To create a webhook for your {% data variables.product.prodname_marketplace %} listing, click **Webhook** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). You'll see the following webhook configuration options needed to configure your webhook:
Para criar um webhook para sua listagem do {% data variables.product.prodname_marketplace %}, clique em **Webhook** na barra lateral esquerda da sua [página de listagem do {% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). Você verá as seguintes opções de configuração de webhook necessárias para configurar seu webhook:
### URL de carga
### Payload URL
{% data reusables.webhooks.payload_url %}
### Tipo de conteúdo
### Content type
{% data reusables.webhooks.content_type %} O GitHub recomenda usar o tipo de conteúdo `application/json`.
{% data reusables.webhooks.content_type %} GitHub recommends using the `application/json` content type.
### Segredo
### Secret
{% data reusables.webhooks.secret %}
### Ativo
### Active
Por padrão, as entregas de webhook estão "Ativas". Você pode optar por desativar a entrega das cargas de webhook durante o desenvolvimento, desmarcando "Ativo". Se você desativou as entregas do webhook, será necessário selecionar "Ativo" antes de enviar seu aplicativo para revisão.
By default, webhook deliveries are "Active." You can choose to disable the delivery of webhook payloads during development by deselecting "Active." If you've disabled webhook deliveries, you will need to select "Active" before you submit your app for review.
## Visualizar entregas do webhook
## Viewing webhook deliveries
Uma vez configurado seu webhook do {% data variables.product.prodname_marketplace %} , você poderá inspecionar as cargas de solicitação de `POST` da página do **Webhook** da lista do seu aplicativo do [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). O GitHub não reenvia tentativas falhas de entrega. Certifique-se de que seu aplicativo possa receber todas as cargas do webhook enviadas pelo GitHub.
Once you've configured your {% data variables.product.prodname_marketplace %} webhook, you'll be able to inspect `POST` request payloads from the **Webhook** page of your application's [{% data variables.product.prodname_marketplace %} listing](https://github.com/marketplace/manage). GitHub doesn't resend failed delivery attempts. Ensure your app can receive all webhook payloads sent by GitHub.
![Inspecione as entregas recentes do webhook de {% data variables.product.prodname_marketplace %}](/assets/images/marketplace/marketplace_webhook_deliveries.png)
![Inspect recent {% data variables.product.prodname_marketplace %} webhook deliveries](/assets/images/marketplace/marketplace_webhook_deliveries.png)

View File

@@ -1,16 +1,16 @@
---
title: Elaborar uma listagem para o seu aplicativo
intro: 'Ao criar uma listagem do {% data variables.product.prodname_marketplace %}, o GitHub salva-na no modo rascunho até que você envie o aplicativo para aprovação. Sua listagem mostra aos clientes como podem usar seu aplicativo.'
title: Drafting a listing for your app
intro: 'When you create a {% data variables.product.prodname_marketplace %} listing, GitHub saves it in draft mode until you submit the app for approval. Your listing shows customers how they can use your app.'
redirect_from:
- /apps/adding-integrations/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace/
- /apps/marketplace/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace/
- /apps/marketplace/getting-started-with-github-marketplace-listings/listing-an-app-on-github-marketplace/
- /apps/marketplace/creating-and-submitting-your-app-for-approval/listing-an-app-on-github-marketplace/
- /apps/adding-integrations/managing-listings-on-github-marketplace/removing-a-listing-from-github-marketplace/
- /apps/marketplace/managing-github-marketplace-listings/removing-a-listing-from-github-marketplace/
- /apps/adding-integrations/managing-listings-on-github-marketplace/editing-a-github-marketplace-listing/
- /apps/marketplace/managing-github-marketplace-listings/editing-a-github-marketplace-listing/
- /apps/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/
- /apps/adding-integrations/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace
- /apps/marketplace/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace
- /apps/marketplace/getting-started-with-github-marketplace-listings/listing-an-app-on-github-marketplace
- /apps/marketplace/creating-and-submitting-your-app-for-approval/listing-an-app-on-github-marketplace
- /apps/adding-integrations/managing-listings-on-github-marketplace/removing-a-listing-from-github-marketplace
- /apps/marketplace/managing-github-marketplace-listings/removing-a-listing-from-github-marketplace
- /apps/adding-integrations/managing-listings-on-github-marketplace/editing-a-github-marketplace-listing
- /apps/marketplace/managing-github-marketplace-listings/editing-a-github-marketplace-listing
- /apps/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing
- /marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing
- /developers/github-marketplace/drafting-a-listing-for-your-app
versions:
@@ -18,50 +18,51 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Elabore um anúncio para aplicativos
shortTitle: Draft an app listing
---
## Create a new draft {% data variables.product.prodname_marketplace %} listing
## Crie um novo rascunho da listagem do {% data variables.product.prodname_marketplace %}
You can only create draft listings for apps that are public. Before creating your draft listing, you can read the following guidelines for writing and configuring settings in your {% data variables.product.prodname_marketplace %} listing:
Você só pode criar rascunhos de listagem para aplicativos públicos. Antes de criar o seu rascunho de listagem, você pode ler as diretrizes a seguir para escrever e definir configurações na sua listagem do {% data variables.product.prodname_marketplace %}:
* [Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)
* [Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)
* [Configuring the {% data variables.product.prodname_marketplace %} Webhook](/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook/)
* [Escrever descrições de listagem do {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)
* [Definir um plano de preços do {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)
* [Configurar o Webhook do {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook/)
Para criar uma listagem do {% data variables.product.prodname_marketplace %}:
To create a {% data variables.product.prodname_marketplace %} listing:
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.developer_settings %}
3. Na barra lateral esquerda, clique em **Aplicativos OAuth** ou **Aplicativos GitHub**, dependendo do aplicativo que você está adicionando ao {% data variables.product.prodname_marketplace %}.
3. In the left sidebar, click either **OAuth Apps** or **GitHub Apps** depending on the app you're adding to {% data variables.product.prodname_marketplace %}.
{% note %}
**Observação**: Você também pode adicionar uma listagem acessando https://github.com/marketplace/new, visualizando seus aplicativos disponíveis e clicando em **Criar rascunho de listagem**.
**Note**: You can also add a listing by navigating to https://github.com/marketplace/new, viewing your available apps, and clicking **Create draft listing**.
{% endnote %}
![Seleção do tipo de aplicativo](/assets/images/settings/apps_choose_app.png)
![App type selection](/assets/images/settings/apps_choose_app.png)
4. Selecione o aplicativo que você gostaria de adicionar ao {% data variables.product.prodname_marketplace %}. ![Seleção de aplicativo para listagem do {% data variables.product.prodname_marketplace %}](/assets/images/github-apps/github_apps_select-app.png)
4. Select the app you'd like to add to {% data variables.product.prodname_marketplace %}.
![App selection for {% data variables.product.prodname_marketplace %} listing](/assets/images/github-apps/github_apps_select-app.png)
{% data reusables.user-settings.edit_marketplace_listing %}
5. Uma vez criado um novo rascunho da listagem, você verá um resumo das seções que você precisará visitar antes da sua listagem do {% data variables.product.prodname_marketplace %} ser concluída. ![Listagem do GitHub Marketplace](/assets/images/marketplace/marketplace_listing_overview.png)
5. Once you've created a new draft listing, you'll see an overview of the sections that you'll need to visit before your {% data variables.product.prodname_marketplace %} listing will be complete.
![GitHub Marketplace listing](/assets/images/marketplace/marketplace_listing_overview.png)
{% note %}
**Observação:** Na seção "Informações de contato" da sua listagem, recomendamos o uso de endereços de e-mail individuais, em vez de agrupar endereços de e-mail como, por exemplo, support@domain.com. O GitHub usará estes endereços de e-mail para entrar em contato com você sobre atualizações do {% data variables.product.prodname_marketplace %} que podem afetar a sua listagem, novas versões de recurso, oportunidades de marketing, pagamentos e informações sobre conferências e patrocínios.
**Note:** In the "Contact info" section of your listing, we recommend using individual email addresses, rather than group emails addresses like support@domain.com. GitHub will use these email addresses to contact you about updates to {% data variables.product.prodname_marketplace %} that might affect your listing, new feature releases, marketing opportunities, payouts, and information on conferences and sponsorships.
{% endnote %}
## Editar sua listagem
## Editing your listing
Após criar um rascunho da listagem do {% data variables.product.prodname_marketplace %}, você poderá voltar e modificar as informações na sua listagem a qualquer momento. Se o seu aplicativo já está aprovado e encontra-se no {% data variables.product.prodname_marketplace %}, você pode editar as informações e imagens na sua listagem, mas você não poderá alterar os planos de preços existentes publicados. Consulte "[Configurando um plano de preços de listagem do {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/). "
Once you've created a {% data variables.product.prodname_marketplace %} draft listing, you can come back to modify information in your listing anytime. If your app is already approved and in {% data variables.product.prodname_marketplace %}, you can edit the information and images in your listing, but you will not be able to change existing published pricing plans. See "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)."
## Enviar o seu aplicativo
## Submitting your app
Após concluir a sua listagem do {% data variables.product.prodname_marketplace %}, você poderá enviá-la para revisão na página **Visão geral**. Você vai precisar ler e aceitar o "[{% data variables.product.prodname_marketplace %} Contrato de desenvolvedor](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement/)" e, em seguida, você poderá clicar em **Enviar para revisão**. Depois de enviar seu aplicativo para análise, um especialista em integração entrará em contato com você com informações adicionais sobre o processo de integração.
Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process.
## Remover uma listagem do {% data variables.product.prodname_marketplace %}
## Removing a {% data variables.product.prodname_marketplace %} listing
Se você não quiser mais listar seu aplicativo em {% data variables.product.prodname_marketplace %}, entre em contato {% data variables.contact.contact_support %} para remover o seu anúncio.
If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing.

View File

@@ -1,14 +1,14 @@
---
title: Listar um aplicativo no GitHub Marketplace
intro: 'Saiba mais sobre requisitos e práticas recomendadas para listar seu app no {% data variables.product.prodname_marketplace %}.'
title: Listing an app on GitHub Marketplace
intro: 'Learn about requirements and best practices for listing your app on {% data variables.product.prodname_marketplace %}.'
redirect_from:
- /apps/adding-integrations/listing-apps-on-github-marketplace/
- /apps/marketplace/listing-apps-on-github-marketplace/
- /apps/marketplace/getting-started-with-github-marketplace-listings/
- /apps/marketplace/creating-and-submitting-your-app-for-approval/
- /apps/adding-integrations/managing-listings-on-github-marketplace/
- /apps/marketplace/managing-github-marketplace-listings/
- /apps/marketplace/listing-on-github-marketplace/
- /apps/adding-integrations/listing-apps-on-github-marketplace
- /apps/marketplace/listing-apps-on-github-marketplace
- /apps/marketplace/getting-started-with-github-marketplace-listings
- /apps/marketplace/creating-and-submitting-your-app-for-approval
- /apps/adding-integrations/managing-listings-on-github-marketplace
- /apps/marketplace/managing-github-marketplace-listings
- /apps/marketplace/listing-on-github-marketplace
- /marketplace/listing-on-github-marketplace
versions:
fpt: '*'
@@ -21,6 +21,6 @@ children:
- /setting-pricing-plans-for-your-listing
- /configuring-a-webhook-to-notify-you-of-plan-changes
- /submitting-your-listing-for-publication
shortTitle: Anuncie um aplicativo no Marketplace
shortTitle: List an app on the Marketplace
---

View File

@@ -1,17 +1,17 @@
---
title: Definir planos de cobrança para sua listagem
intro: 'Quando você listar seu aplicativo em {% data variables.product.prodname_marketplace %}, você poderá escolher fornecer seu aplicativo como um serviço grátis ou vender seu aplicativo. Se você pretende vender seu aplicativo, você pode criar planos de preços diferentes para diferentes níveis de recursos.'
title: Setting pricing plans for your listing
intro: 'When you list your app on {% data variables.product.prodname_marketplace %}, you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.'
redirect_from:
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/
- /apps/marketplace/pricing-payments-and-free-trials/setting-a-github-marketplace-listing-s-pricing-plan/
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans/
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans/
- /apps/marketplace/pricing-payments-and-free-trials/about-github-marketplace-pricing-plans/
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan/
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan/
- /apps/marketplace/managing-github-marketplace-listings/changing-a-github-marketplace-listing-s-pricing-plan/
- /apps/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan
- /apps/marketplace/pricing-payments-and-free-trials/setting-a-github-marketplace-listing-s-pricing-plan
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans
- /apps/marketplace/pricing-payments-and-free-trials/about-github-marketplace-pricing-plans
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan
- /apps/marketplace/managing-github-marketplace-listings/changing-a-github-marketplace-listing-s-pricing-plan
- /apps/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan
- /marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan
- /developers/github-marketplace/setting-pricing-plans-for-your-listing
versions:
@@ -19,70 +19,69 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Definir os planos de preços do anúncio
shortTitle: Set listing pricing plans
---
## About setting pricing plans
## Sobre a configuração dos planos de preços
{% data variables.product.prodname_marketplace %} offers several different types of pricing plans. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)."
{% data variables.product.prodname_marketplace %} oferece vários tipos diferentes de planos de preços. Para obter informações detalhadas, consulte "[Planos de preços para {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)".
To offer a paid plan for your app, your app must be owned by an organization that has completed the publisher verification process and met certain criteria. For more information, see "[Applying for publisher verification for your organization](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)" and "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)."
Para oferecer um plano pago para seu aplicativo, este deve ser pertencente a uma organização que tenha concluído o processo de verificação de editor e atendido a certos critérios. Para obter mais informações, consulte "[Candidatar-se à verificação de publicador para a sua organização](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)" e "[Requisitos para listar um aplicativo em {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)".
If your app is already published with a paid plan and you're a verified publisher, then you can publish a new paid plan from the "Edit a pricing plan" page in your Marketplace app listing settings.
Se seu aplicativo já foi publicado com um plano pago e você é um editor verificado, você poderá publicar um novo plano pago a partir da página "Editar um plano de preços" nas configurações da listagem do seu aplicativo do Marketplace.
![Publish this plan button](/assets/images/marketplace/publish-this-plan-button.png)
![Botão Publicar este plano](/assets/images/marketplace/publish-this-plan-button.png)
If your app is already published with a paid plan and but you are not a verified publisher, then you can cannot publish a new paid plan until you are a verified publisher. For more information about becoming a verified publisher, see "[Applying for publisher verification for your organization](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)."
Se seu aplicativo já foi publicado com um plano pago, mas você não é um editor verificado, você não poderá publicar um novo plano pago até que um editor seja verificado. Para obter mais informações sobre como se tornar um editor verificado, consulte "[Candidatar-se à verificação de publicador para a sua organização](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)".
## About saving pricing plans
## Sobre como salvar planos de preços
You can save pricing plans in a draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published plan will function in the same way as a draft plan until your listing is approved and shown on {% data variables.product.prodname_marketplace %}. Draft plans allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish a pricing plan on a published listing, it's available for customers to purchase immediately. You can publish up to 10 pricing plans.
Você pode salvar planos de preços com status de rascunho ou publicado. Se você não enviou seu anúncio de {% data variables.product.prodname_marketplace %} para aprovação, um plano publicado funcionará da mesma forma que um plano provisório até que o seu anúncio seja aprovado e exibido em {% data variables.product.prodname_marketplace %}. Os planos de rascunho permitem criar e salvar novos planos de preços sem torná-los disponíveis na sua página de anúncio de {% data variables.product.prodname_marketplace %}. Depois de publicar um plano de preços em um anúncio publicado, os clientes poderão comprar imediatamente. Você pode publicar até 10 planos de preços.
For guidelines on billing customers, see "[Billing customers](/developers/github-marketplace/billing-customers)."
Para obter diretrizes sobre os clientes de cobrança, consulte "[Clientes de cobrança](/developers/github-marketplace/billing-customers)".
## Creating pricing plans
## Criar planos de preços
To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). For more information, see "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)."
Para criar um plano de preços para a sua listagem do {% data variables.product.prodname_marketplace %}, clique em **Planos e preços** na barra lateral esquerda da sua [página de listagem do {% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). Para obter mais informações, consulte "[Criar um rascunho de anúncio de {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)."
When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan:
Ao clicar em **Novo rascunho do plano**, você verá um formulário que permite que você personalize o seu plano de preços. Você precisará configurar os seguintes campos para criar um plano de preços:
- **Plan name** - Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align with the plan's resources, the size of the company that will use the plan, or anything you'd like.
- **Nome do plano** - O nome do seu plano de preços aparecerá na página inicial do aplicativo de {% data variables.product.prodname_marketplace %}. Você pode personalizar o nome do seu plano de preços para se alinhar com os recursos do plano, o tamanho da empresa que usará o plano ou qualquer coisa que desejar.
- **Pricing models** - There are three types of pricing plan: free, flat-rate, and per-unit. All plans require you to process new purchase and cancellation events from the marketplace API. In addition, for paid plans:
- **Modelos de preços** - Existem três tipos de plano de preços: gratuito, taxa fixa e por unidade. Todos os planos exigem que você processe novos eventos de compra e cancelamento da API do marketplace. Além disso, para os planos pagos:
- Você deve definir um preço para as assinaturas mensais e anuais em dólar.
- Seu aplicativo deve processar eventos de mudança de plano.
- Você deve solicitar verificação para publicar um anúncio com um plano pago.
- You must set a price for both monthly and yearly subscriptions in US dollars.
- Your app must process plan change events.
- You must request verification to publish a listing with a paid plan.
- {% data reusables.marketplace.marketplace-pricing-free-trials %}
Para obter informações detalhadas, consulte "[Planos de preços para aplicativos de {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" e "[Usar a API de {% data variables.product.prodname_marketplace %} no seu aplicativo](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)".
For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %} apps](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
- **Disponível para** - planos de preços de {% data variables.product.prodname_marketplace %} podem ser aplicados a **Contas pessoais e da organização**, **apenas contas pessoais**ou **apenas contas de organização**. Por exemplo, se o seu plano de preços for por unidade e fornecer várias estações, você selecionaria **apenas contas de organização**, porque não há nenhuma maneira de atribuir estações a pessoas de uma organização a partir de uma conta pessoal.
- **Available for** - {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account.
- **Breve descrição** - Escreva um breve resumo dos detalhes do plano de preços. A descrição pode incluir o tipo de cliente para o qual o plano se destina ou os recursos que o plano inclui.
- **Short description** - Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes.
- **Marcadores** - Você pode escrever até quatro marcadores que incluem mais detalhes sobre o seu plano de precificação. Os marcadores podem incluir casos de uso do seu aplicativo ou listar informações mais detalhadas sobre as características ou os recursos incluídos no plano.
- **Bullets** - You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan.
{% data reusables.marketplace.free-plan-note %}
## Alterar um plano de preços da listagem do {% data variables.product.prodname_marketplace %}
## Changing a {% data variables.product.prodname_marketplace %} listing's pricing plan
Se um plano de preços para o seu anúncio de {% data variables.product.prodname_marketplace %} não for mais necessário, ou se você precisar ajustar os detalhes de preços, você poderá removê-lo.
If a pricing plan for your {% data variables.product.prodname_marketplace %} listing is no longer needed, or if you need to adjust pricing details, you can remove it.
![Botão para remover o seu plano de preços](/assets/images/marketplace/marketplace_remove_this_plan.png)
![Button to remove your pricing plan](/assets/images/marketplace/marketplace_remove_this_plan.png)
Depois de publicar um plano de preços para um aplicativo que já está listado em {% data variables.product.prodname_marketplace %}, você não poderá fazer alterações no plano. Em vez disso, você precisará remover o plano de preços e criar um novo plano. Os clientes que já compraram o plano de preços removido continuarão a usá-lo até que optem por sair o plano e passar para um novo plano de preços. Para obter mais informações sobre os planos de preços, consulte[ planos de preços do {% data variables.product.prodname_marketplace %}](/marketplace/selling-your-app/github-marketplace-pricing-plans/)".
Once you publish a pricing plan for an app that is already listed in {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan and create a new plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)."
Depois de remover um plano de preços, os usuários não poderão comprar seu aplicativo que usa esse plano. Os usuários existentes no plano de preços removido continuarão no plano até que cancelem sua assinatura do plano.
Once you remove a pricing plan, users won't be able to purchase your app using that plan. Existing users on the removed pricing plan will continue to stay on the plan until they cancel their plan subscription.
{% note %}
**Observação:** {% data variables.product.product_name %} não pode remover usuários de um plano de preços removido. Você pode realizar uma campanha para incentivar os usuários a atualizar ou fazer downgrade do plano de preços removido para um novo plano de preços.
**Note:** {% data variables.product.product_name %} can't remove users from a removed pricing plan. You can run a campaign to encourage users to upgrade or downgrade from the removed pricing plan onto a new pricing plan.
{% endnote %}
Você pode desativar os testes grátis do GitHub Marketplace sem remover o plano de preços, mas isso impede que você inicie futuros testes grátis para esse plano. Se você optar por desativar os testes grátis para um plano de preços, os usuários já inscritos poderão concluir o seu teste gratuito.
You can disable GitHub Marketplace free trials without retiring the pricing plan, but this prevents you from initiating future free trials for that plan. If you choose to disable free trials for a pricing plan, users already signed up can complete their free trial.
Depois de remover um plano de preços, você poderá criar um novo plano com o mesmo nome do plano de preços removido. Por exemplo, se você tem um plano de preços "Pro", mas precisa alterar o preço fixo, você poderá remover o plano de preços "Pro" e criar um novo plano de preços "Pro" com um preço atualizado. Os usuários poderão comprar o novo plano de preços imediatamente.
After retiring a pricing plan, you can create a new pricing plan with the same name as the removed pricing plan. For instance, if you have a "Pro" pricing plan but need to change the flat rate price, you can remove the "Pro" pricing plan and create a new "Pro" pricing plan with an updated price. Users will be able to purchase the new pricing plan immediately.
Se você não for um editor verificado, você não poderá alterar um plano de preços para o seu aplicativo. Para obter mais informações sobre como se tornar um editor verificado, consulte "[Candidatar-se à verificação de publicador para a sua organização](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)".
If you are not a verified publisher, then you cannot change a pricing plan for your app. For more information about becoming a verified publisher, see "[Applying for publisher verification for your organization](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)."

View File

@@ -2,13 +2,13 @@
title: Writing a listing description for your app
intro: 'To [list your app](/marketplace/listing-on-github-marketplace/) in the {% data variables.product.prodname_marketplace %}, you''ll need to write descriptions of your app and provide images that follow GitHub''s guidelines.'
redirect_from:
- /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-writing-github-app-descriptions/
- /apps/marketplace/creating-and-submitting-your-app-for-approval/writing-github-app-descriptions/
- /apps/adding-integrations/listing-apps-on-github-marketplace/guidelines-for-creating-a-github-marketplace-listing/
- /apps/marketplace/listing-apps-on-github/guidelines-for-creating-a-github-marketplace-listing/
- /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-creating-github-marketplace-listing-images/
- /apps/marketplace/creating-and-submitting-your-app-for-approval/creating-github-marketplace-listing-images/
- /apps/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/
- /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-writing-github-app-descriptions
- /apps/marketplace/creating-and-submitting-your-app-for-approval/writing-github-app-descriptions
- /apps/adding-integrations/listing-apps-on-github-marketplace/guidelines-for-creating-a-github-marketplace-listing
- /apps/marketplace/listing-apps-on-github/guidelines-for-creating-a-github-marketplace-listing
- /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-creating-github-marketplace-listing-images
- /apps/marketplace/creating-and-submitting-your-app-for-approval/creating-github-marketplace-listing-images
- /apps/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions
- /marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions
- /developers/github-marketplace/writing-a-listing-description-for-your-app
versions:

View File

@@ -1,9 +1,9 @@
---
title: Cobrar dos clientes
intro: 'Os aplicativos no {% data variables.product.prodname_marketplace %} devem aderir às diretrizes de cobrança do GitHub e oferecer suporte aos serviços recomendados. A observância das nossas diretrizes ajuda os clientes a percorrer o processo de cobrança sem nenhuma surpresa.'
title: Billing customers
intro: 'Apps on {% data variables.product.prodname_marketplace %} should adhere to GitHub''s billing guidelines and support recommended services. Following our guidelines helps customers navigate the billing process without any surprises.'
redirect_from:
- /apps/marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace/
- /apps/marketplace/selling-your-app/billing-customers-in-github-marketplace/
- /apps/marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace
- /apps/marketplace/selling-your-app/billing-customers-in-github-marketplace
- /marketplace/selling-your-app/billing-customers-in-github-marketplace
- /developers/github-marketplace/billing-customers
versions:
@@ -12,39 +12,38 @@ versions:
topics:
- Marketplace
---
## Understanding the billing cycle
## Entender o ciclo de cobrança
Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[Webhook events for the {% data variables.product.prodname_marketplace %} API](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)."
Os clientes podem escolher um ciclo de cobrança mensal ou anual quando ao comprar seu aplicativo. Todas as alterações que os clientes fazem no ciclo de cobrança e seleção de plano acionará um evento de `marketplace_purchase`. Você pode fazer referência à carga do webhook `marketplace_purchase` para ver qual ciclo de cobrança um cliente seleciona e quando começa a próxima data de cobrança (`effective_date`). Para obter mais informações sobre cargas de webhook, consulte "[eventos de Webhook para a API de {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)".
## Providing billing services in your app's UI
## Fornecer serviços de cobrança na interface de usuário do seu aplicativo
Os clientes devem ser capazes de executar as seguintes ações no site do seu aplicativo:
- Os clientes devem ser capazes de modificar ou cancelar seus planos de {% data variables.product.prodname_marketplace %} para contas pessoais e organizacionais separadamente.
Customers should be able to perform the following actions from your app's website:
- Customers should be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately.
{% data reusables.marketplace.marketplace-billing-ui-requirements %}
## Os serviços de cobrança para upgrade, downgrade e cancelamentos
## Billing services for upgrades, downgrades, and cancellations
Siga estas diretrizes para upgrades, downgrade e cancelamentos para manter um processo de cobrança claro e consistente. Para obter instruções mais detalhadas sobre os eventos de compra de {% data variables.product.prodname_marketplace %}, consulte "[Usar a API de {% data variables.product.prodname_marketplace %} no seu aplicativo](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)".
Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
Você pode usar a chave do `marketplace_purchase` do webhook `effective_date` para determinar quando a mudança de um plano irá ocorrer e sincronizar periodicamente as [Lista de contas para um plano](/rest/reference/apps#list-accounts-for-a-plan).
You can use the `marketplace_purchase` webhook's `effective_date` key to determine when a plan change will occur and periodically synchronize the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan).
### Atualizações
### Upgrades
Quando um cliente atualiza seu plano de preços ou altera seu ciclo de cobrança de mensal para anual, você deve implementar mudança imediatamente para este cliente. Você precisa aplicar um desconto proporcional ao novo plano e alterar o ciclo de cobrança.
When a customer upgrades their pricing plan or changes their billing cycle from monthly to yearly, you should make the change effective for them immediately. You need to apply a pro-rated discount to the new plan and change the billing cycle.
{% data reusables.marketplace.marketplace-failed-purchase-event %}
Para obter informações sobre a criação fluxos de trabalho de atualização e downgrade no seu aplicativo, consulte "[Gerenciando alterações do plano](/developers/github-marketplace/handling-plan-changes)".
For information about building upgrade and downgrade workflows into your app, see "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)."
### Downgrades e cancelamentos
### Downgrades and cancellations
Os downgrades ocorrem quando um cliente muda de um plano pago para um plano gratuito, seleciona um plano com um custo menor que o seu plano atual, ou muda seu ciclo de cobrança de anual para mensal. Quando ocorre o downgrade ou cancelamento, você não precisa fornecer um reembolso. Em vez disso, o plano atual permanecerá ativo até o último dia do ciclo de cobrança atual. O evento `marketplace_purchase` será enviado quando o novo plano entrar em vigor no início do próximo ciclo de cobrança do cliente.
Quando um cliente cancela um plano, você deve:
- Fazer o downgrade automaticamente para o plano grátis, caso exista.
Downgrades occur when a customer moves to a free plan from a paid plan, selects a plan with a lower cost than their current plan, or changes their billing cycle from yearly to monthly. When downgrades or cancellations occur, you don't need to provide a refund. Instead, the current plan will remain active until the last day of the current billing cycle. The `marketplace_purchase` event will be sent when the new plan takes effect at the beginning of the customer's next billing cycle.
When a customer cancels a plan, you must:
- Automatically downgrade them to the free plan, if it exists.
{% data reusables.marketplace.cancellation-clarification %}
- Habilitá-los para atualizar o plano por meio do GitHub, caso desejem continuar o plano mais adiante.
- Enable them to upgrade the plan through GitHub if they would like to continue the plan at a later time.
Para obter informações sobre a construção de fluxos de trabalho de cancelamento no seu aplicativo, consulte "[Manipulação de cancelamento de plano](/developers/github-marketplace/handling-plan-cancellations)".
For information about building cancellation workflows into your app, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)."

View File

@@ -1,12 +1,12 @@
---
title: Vender seu aplicativo no GitHub Marketplace
intro: 'Saiba mais sobre requisitos e práticas recomendadas para vender seu aplicativo no {% data variables.product.prodname_marketplace %}.'
title: Selling your app on GitHub Marketplace
intro: 'Learn about requirements and best practices for selling your app on {% data variables.product.prodname_marketplace %}.'
redirect_from:
- /apps/marketplace/administering-listing-plans-and-user-accounts/
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/
- /apps/marketplace/pricing-payments-and-free-trials/
- /apps/marketplace/selling-your-app/
- /apps/marketplace/administering-listing-plans-and-user-accounts
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing
- /apps/marketplace/pricing-payments-and-free-trials
- /apps/marketplace/selling-your-app
- /marketplace/selling-your-app
versions:
fpt: '*'
@@ -17,6 +17,6 @@ children:
- /pricing-plans-for-github-marketplace-apps
- /billing-customers
- /receiving-payment-for-app-purchases
shortTitle: Venda aplicativos no Marketplace
shortTitle: Sell apps on the Marketplace
---

View File

@@ -2,7 +2,7 @@
title: Pricing plans for GitHub Marketplace apps
intro: 'Pricing plans allow you to provide your app with different levels of service or resources. You can offer up to 10 pricing plans in your {% data variables.product.prodname_marketplace %} listing.'
redirect_from:
- /apps/marketplace/selling-your-app/github-marketplace-pricing-plans/
- /apps/marketplace/selling-your-app/github-marketplace-pricing-plans
- /marketplace/selling-your-app/github-marketplace-pricing-plans
- /developers/github-marketplace/pricing-plans-for-github-marketplace-apps
versions:

View File

@@ -1,10 +1,10 @@
---
title: Gerenciar novas compras e testes grátis
intro: 'Quando um cliente adquire um plano pago, um teste grátis ou a versão gratuita do seu aplicativo do {% data variables.product.prodname_marketplace %}, você receberá o evento [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) com a ação `comprado`, que inicia o fluxo de compra.'
title: Handling new purchases and free trials
intro: 'When a customer purchases a paid plan, free trial, or the free version of your {% data variables.product.prodname_marketplace %} app, you''ll receive the [`marketplace_purchase` event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) webhook with the `purchased` action, which kicks off the purchasing flow.'
redirect_from:
- /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-github-apps/
- /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-oauth-apps/
- /apps/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/
- /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-github-apps
- /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-oauth-apps
- /apps/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials
- /marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials
- /developers/github-marketplace/handling-new-purchases-and-free-trials
versions:
@@ -12,73 +12,72 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Novas compras & testes gratuitos
shortTitle: New purchases & free trials
---
{% warning %}
Se você oferece um {% data variables.product.prodname_github_app %} em {% data variables.product.prodname_marketplace %}, seu aplicativo deverá identificar usuários seguindo o fluxo de autorização do OAuth. Você não precisa configurar {% data variables.product.prodname_oauth_app %} separadamente para dar suporte a este fluxo. Consulte "[Identificar e autorizar usuários para {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" para obter mais informações.
If you offer a {% data variables.product.prodname_github_app %} in {% data variables.product.prodname_marketplace %}, your app must identify users following the OAuth authorization flow. You don't need to set up a separate {% data variables.product.prodname_oauth_app %} to support this flow. See "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for more information.
{% endwarning %}
## Etapa 1. Compra inicial e evento de webhook
## Step 1. Initial purchase and webhook event
Antes de um cliente comprar o seu aplicativo no {% data variables.product.prodname_marketplace %}, ele irá selecionar um [plano de listagem](/marketplace/selling-your-app/github-marketplace-pricing-plans/). O cliente também escolhe se deseja comprar o aplicativo a partir da sua conta pessoal ou a partir da conta de uma organização.
Before a customer purchases your {% data variables.product.prodname_marketplace %} app, they select a [listing plan](/marketplace/selling-your-app/github-marketplace-pricing-plans/). They also choose whether to purchase the app from their personal account or an organization account.
O cliente efetua a compra clicando em **Concluir pedido e começar a instalação**.
The customer completes the purchase by clicking **Complete order and begin installation**.
{% data variables.product.product_name %} depois envia o webhook de [`marketplace_purchase`](/webhooks/event-payloads/#marketplace_purchase) com a ação `purchased` para o seu aplicativo.
{% data variables.product.product_name %} then sends the [`marketplace_purchase`](/webhooks/event-payloads/#marketplace_purchase) webhook with the `purchased` action to your app.
Leia o objeto `effective_date` e `marketplace_purchase` do webhook `marketplace_purchase` para determinar qual plano o cliente comprou, quando começa o ciclo de cobrança, e quando começa o próximo ciclo de cobrança.
Read the `effective_date` and `marketplace_purchase` object from the `marketplace_purchase` webhook to determine which plan the customer purchased, when the billing cycle starts, and when the next billing cycle begins.
Se o seu aplicativo oferecer um teste grátis, leia o atributo `marketplace_purchase[on_free_trial]` do webhook. Se o valor for `verdadeiro`, seu aplicativo deverá acompanhar a data de início de teste gratuito (`effective_date`) e a data em que o teste gratuito termina (`free_trial_ends_on`). Use a data `free_trial_ends_on` para exibir os dias restantes em um teste gratuito na interface de usuário do seu aplicativo. Você pode fazer isso em um banner ou na sua [interface de usuário de cobrança](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). Para aprender como lidar com os cancelamentos antes de um teste grátis, consulte "[Gerenciar cancelamentos de plano](/developers/github-marketplace/handling-plan-cancellations)". Consulte "[Gerenciamento das alterações de plano](/developers/github-marketplace/handling-plan-changes)" para descobrir como fazer transição de um teste grátis para um plano pago quando um teste gratuito expira.
If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." See "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)" to find out how to transition a free trial to a paid plan when a free trial expires.
Consulte "[ eventos de webhook de {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)para obter um exemplo da carga de evento `marketplace_purchase`.
See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload.
## Etapa 2. Instalação
## Step 2. Installation
Se seu aplicativo é {% data variables.product.prodname_github_app %}, {% data variables.product.product_name %} irá solicitar ao cliente que selecione quais repositórios o aplicativo pode acessar quando comprá-lo. {% data variables.product.product_name %} em seguida, instala o aplicativo na conta selecionada pelo cliente e concede acesso aos repositórios selecionados.
If your app is a {% data variables.product.prodname_github_app %}, {% data variables.product.product_name %} prompts the customer to select which repositories the app can access when they purchase it. {% data variables.product.product_name %} then installs the app on the account the customer selected and grants access to the selected repositories.
Neste ponto, se você especificou uma **Configuração de URL** nas suas configurações de {% data variables.product.prodname_github_app %}, {% data variables.product.product_name %} irá redirecionar o cliente para essa URL. Se não especificar uma URL de configuração, você não conseguirá gerenciar as compras do seu {% data variables.product.prodname_github_app %}.
At this point, if you specified a **Setup URL** in your {% data variables.product.prodname_github_app %} settings, {% data variables.product.product_name %} will redirect the customer to that URL. If you do not specify a setup URL, you will not be able to handle purchases of your {% data variables.product.prodname_github_app %}.
{% note %}
**Observação:** A **URL de configuração** é descrita como opcional nas configurações de {% data variables.product.prodname_github_app %}, mas é um campo obrigatório se desejar oferecer seu aplicativo em {% data variables.product.prodname_marketplace %}.
**Note:** The **Setup URL** is described as optional in {% data variables.product.prodname_github_app %} settings, but it is a required field if you want to offer your app in {% data variables.product.prodname_marketplace %}.
{% endnote %}
Se seu aplicativo for um {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} não irá instalá-lo em qualquer lugar. Em vez disso, {% data variables.product.product_name %} irá redirecionar o cliente para a **URL de Instalação** que você especificou no seu [ anúncio de {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#listing-urls).
If your app is an {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} does not install it anywhere. Instead, {% data variables.product.product_name %} redirects the customer to the **Installation URL** you specified in your [{% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#listing-urls).
Quando um cliente compra um {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} irá redirecionar o cliente para a URL que você escolher (URL de configuração ou URL de instalação) e a URL irá incluir o plano de precificação selecionado pelo cliente como um parâmetro de consulta: `marketplace_listing_plan_id`.
When a customer purchases an {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} redirects the customer to the URL you choose (either Setup URL or Installation URL) and the URL includes the customer's selected pricing plan as a query parameter: `marketplace_listing_plan_id`.
## Etapa 3. Autorização
## Step 3. Authorization
Quando um cliente compra seu aplicativo, você deve enviar o cliente por meio do fluxo de autorização OAuth:
When a customer purchases your app, you must send the customer through the OAuth authorization flow:
* Se seu aplicativo for {% data variables.product.prodname_github_app %}, inicie o fluxo de autorização assim que {% data variables.product.product_name %} redirecionar o cliente para a **URL de configuração**. Siga os passos em "[Identificar e autorizar usuários para {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)".
* If your app is a {% data variables.product.prodname_github_app %}, begin the authorization flow as soon as {% data variables.product.product_name %} redirects the customer to the **Setup URL**. Follow the steps in "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)."
* Se seu aplicativo for um {% data variables.product.prodname_oauth_app %}, inicie o fluxo de autorização assim que {% data variables.product.product_name %} redirecionar o cliente para a **URL de instalação**. Siga as etapas em "[Autorizar {% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/authorizing-oauth-apps/)".
* If your app is an {% data variables.product.prodname_oauth_app %}, begin the authorization flow as soon as {% data variables.product.product_name %} redirects the customer to the **Installation URL**. Follow the steps in "[Authorizing {% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/authorizing-oauth-apps/)."
Para qualquer tipo de aplicativo, o primeiro passo é redirecionar o cliente para https://github.com/login/oauth/authorize.
For either type of app, the first step is to redirect the customer to https://github.com/login/oauth/authorize.
Depois que o cliente concluir a autorização, seu aplicativo receberá um token de acesso do OAuth para o cliente. Você prrecisará desse token para a próxima etapa.
After the customer completes the authorization, your app receives an OAuth access token for the customer. You'll need this token for the next step.
{% note %}
**Observação:** Ao autorizar um cliente em um teste gratuito, conceda a ele o mesmo acesso que ele teria no plano pago. Você irá transferi-los para o plano pago após o término do período de teste.
**Note:** When authorizing a customer on a free trial, grant them the same access they would have on the paid plan. You'll move them to the paid plan after the trial period ends.
{% endnote %}
## Etapa 4. Provisionar as contas dos clientes
## Step 4. Provisioning customer accounts
Seu aplicativo deve fornecer uma conta de cliente para todas as novas compras. Usar o token de acesso que você recebeu para o cliente na [Etapa 3. Autorização](#step-3-authorization), chame o ponto de extremidade "[Lista de assinaturas para o usuário autenticado](/rest/reference/apps#list-subscriptions-for-the-authenticated-user)". A resposta incluirá a `conta` do cliente e mostrará se está em um teste grátis (`on_free_trial`). Use estas informações para concluir a configuração e o provisionamento.
Your app must provision a customer account for all new purchases. Using the access token you received for the customer in [Step 3. Authorization](#step-3-authorization), call the "[List subscriptions for the authenticated user](/rest/reference/apps#list-subscriptions-for-the-authenticated-user)" endpoint. The response will include the customer's `account` information and show whether they are on a free trial (`on_free_trial`). Use this information to complete setup and provisioning.
{% data reusables.marketplace.marketplace-double-purchases %}
Se a compra for para uma organização e por usuário, você poderá solicitar que o cliente escolha quais integrantes da organização terão acesso ao aplicativo comprado.
If the purchase is for an organization and per-user, you can prompt the customer to choose which organization members will have access to the purchased app.
É possível personalizar a forma como os integrantes da organização recebem acesso ao seu aplicativo. Aqui estão algumas sugestões:
You can customize the way that organization members receive access to your app. Here are a few suggestions:
**Preços fixos:** Se a compra for feita para uma organização que usa preços fixos, seu aplicativo poderá [obter todos os integrantes da organização](/rest/reference/orgs#list-organization-members) através da API e solicitar ao administrador da organização que escolha quais integrantes terão usuários pagos no lado do integrador.
**Flat-rate pricing:** If the purchase is made for an organization using flat-rate pricing, your app can [get all the organizations members](/rest/reference/orgs#list-organization-members) via the API and prompt the organization admin to choose which members will have paid users on the integrator side.
**Preços por unidade:** Um método de provisionamento de estações por unidade é permitir que os usuários ocupem uma estação enquanto iniciam a sessão do aplicativo. Quando o cliente atingir o limite de contagem da estação, seu aplicativo poderá alertar o usuário de que ele precisa fazer a atualização do plano de {% data variables.product.prodname_marketplace %}.
**Per-unit pricing:** One method of provisioning per-unit seats is to allow users to occupy a seat as they log in to the app. Once the customer hits the seat count threshold, your app can alert the user that they need to upgrade through {% data variables.product.prodname_marketplace %}.

View File

@@ -1,9 +1,9 @@
---
title: Gerenciar cancelamento de plano
intro: 'O cancelamento de um aplicativo de {% data variables.product.prodname_marketplace %} aciona o webhook do evento [`marketplace_purchase` event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) com a ação `cancelado`, que dá início ao fluxo de cancelamento.'
title: Handling plan cancellations
intro: 'Cancelling a {% data variables.product.prodname_marketplace %} app triggers the [`marketplace_purchase` event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) webhook with the `cancelled` action, which kicks off the cancellation flow.'
redirect_from:
- /apps/marketplace/administering-listing-plans-and-user-accounts/cancelling-plans/
- /apps/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/
- /apps/marketplace/administering-listing-plans-and-user-accounts/cancelling-plans
- /apps/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans
- /marketplace/integrating-with-the-github-marketplace-api/cancelling-plans
- /developers/github-marketplace/handling-plan-cancellations
versions:
@@ -11,26 +11,25 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Cancelamentos de plano
shortTitle: Plan cancellations
---
For more information about cancelling as it relates to billing, see "[Billing customers in {% data variables.product.prodname_marketplace %}](/apps//marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace)."
Para obter mais informações sobre cancelamento e como está relacionado à cobrança, consulte "[Cobrança de clientes {% data variables.product.prodname_marketplace %}](/apps//marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace)".
## Step 1. Cancellation event
## Etapa 1. Evento de cancelamento
If a customer chooses to cancel a {% data variables.product.prodname_marketplace %} order, GitHub sends a [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) webhook with the action `cancelled` to your app when the cancellation takes effect. If the customer cancels during a free trial, your app will receive the event immediately. When a customer cancels a paid plan, the cancellation will occur at the end of the customer's billing cycle.
Se um cliente optar por cancelar um pedido do {% data variables.product.prodname_marketplace %}, o GitHub irá enviar um webhook de [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) com a ação `cancelado` para o seu aplicativo, quando o cancelamento entrar em vigor. Se o cliente efetuar o cancelamento durante um teste grátis, seu aplicativo receberá o evento imediatamente. Quando um cliente cancelar um plano pago, o cancelamento ocorrerá ao final do ciclo de cobrança do cliente.
## Step 2. Deactivating customer accounts
## Etapa 2. Desativar as contas dos clientes
When a customer cancels a free or paid plan, your app must perform these steps to complete cancellation:
Quando um cliente cancela um plano grátis ou pago, seu aplicativo deve realizar essas etapas para concluir o cancelamento:
1. Desative a conta do cliente que cancelou o plano.
1. Revogue o token do OAuth que seu aplicativo recebeu para o cliente.
1. Se o seu aplicativo for um aplicativo OAuth, remova todos os webhooks que seu aplicativo criou para os repositórios.
1. Remova todos os dados do cliente em 30 dias após receber o evento `cancelado`.
1. Deactivate the account of the customer who cancelled their plan.
1. Revoke the OAuth token your app received for the customer.
1. If your app is an OAuth App, remove all webhooks your app created for repositories.
1. Remove all customer data within 30 days of receiving the `cancelled` event.
{% note %}
**Obsevação:** Recomendamos usar a `effective_date` do webhook [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) para determinar quando ocorrerá a mudança do plano e sincronizar periodicamente [Listar as contas para um plano](/rest/reference/apps#list-accounts-for-a-plan). Para obter mais informações sobre webhooks, consulte "[eventos de webhook do {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)".
**Note:** We recommend using the [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) webhook's `effective_date` to determine when a plan change will occur and periodically synchronizing the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan). For more information on webhooks, see "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)."
{% endnote %}

View File

@@ -1,9 +1,9 @@
---
title: Gerenciar mudanças de plano
intro: 'Atualizar ou fazer downgrade de um aplicativo do {% data variables.product.prodname_marketplace %} aciona o webook do [`marketplace_purchase` event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) com a ação `alterado`, que dá início ao fluxo de atualização ou downgrade.'
title: Handling plan changes
intro: 'Upgrading or downgrading a {% data variables.product.prodname_marketplace %} app triggers the [`marketplace_purchase` event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) webhook with the `changed` action, which kicks off the upgrade or downgrade flow.'
redirect_from:
- /apps/marketplace/administering-listing-plans-and-user-accounts/upgrading-or-downgrading-plans/
- /apps/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/
- /apps/marketplace/administering-listing-plans-and-user-accounts/upgrading-or-downgrading-plans
- /apps/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans
- /marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans
- /developers/github-marketplace/handling-plan-changes
versions:
@@ -12,55 +12,54 @@ versions:
topics:
- Marketplace
---
For more information about upgrading and downgrading as it relates to billing, see "[Integrating with the {% data variables.product.prodname_marketplace %} API](/marketplace/integrating-with-the-github-marketplace-api/)."
Para obter mais informações sobre atualização e downgrade com relação à cobrança, consulte "[Integração com a API do {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/)".
## Step 1. Pricing plan change event
## Etapa 1. Evento de mudança de plano de preços
GitHub send the `marketplace_purchase` webhook with the `changed` action to your app, when a customer makes any of these changes to their {% data variables.product.prodname_marketplace %} order:
* Upgrades to a more expensive pricing plan or downgrades to a lower priced plan.
* Adds or removes seats to their existing plan.
* Changes the billing cycle.
O GitHub envia o webhook `marketplace_purchase` com a ação `alterado` para o seu aplicativo, quando um cliente faz qualquer uma dessas alterações no seu pedido do {% data variables.product.prodname_marketplace %}:
* Faz a atualização para um plano de preços mais caro ou para um plano de preços mais barato.
* Adiciona ou remove estações para seu plano existente.
* Altera o ciclo de cobrança.
GitHub will send the webhook when the change takes effect. For example, when a customer downgrades a plan, GitHub sends the webhook at the end of the customer's billing cycle. GitHub sends a webhook to your app immediately when a customer upgrades their plan to allow them access to the new service right away. If a customer switches from a monthly to a yearly billing cycle, it's considered an upgrade. See "[Billing customers in {% data variables.product.prodname_marketplace %}](/marketplace/selling-your-app/billing-customers-in-github-marketplace/)" to learn more about what actions are considered an upgrade or downgrade.
O GitHub enviará o webhook quando a alteração entrar em vigor. Por exemplo, quando um cliente faz o downgrade de um plano, o GitHub envia o webhook no final do ciclo de cobrança do cliente. O GitHub envia um webhook para o seu aplicativo imediatamente quando um cliente atualiza seu plano para permitir que acesse o novo serviço imediatamente. Se um cliente mudar de um ciclo de cobrança mensal para anual, isso é considerado uma atualização. Consulte "[Cobrança de clientes no {% data variables.product.prodname_marketplace %}](/marketplace/selling-your-app/billing-customers-in-github-marketplace/)" para saber mais sobre quais ações são consideradas um atualização ou downgrade.
Read the `effective_date`, `marketplace_purchase`, and `previous_marketplace_purchase` from the `marketplace_purchase` webhook to update the plan's start date and make changes to the customer's billing cycle and pricing plan. See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload.
Leia o `effective_date`, `marketplace_purchase` e `precedous_marketplace_purchase` do webhook `marketplace_purchase` para atualizar a data de início do plano e fazer alterações no ciclo de cobrança do cliente e no plano de preços. Consulte "[ eventos de webhook de {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)para obter um exemplo da carga de evento `marketplace_purchase`.
If your app offers free trials, you'll receive the `marketplace_purchase` webhook with the `changed` action when the free trial expires. If the customer's free trial expires, upgrade the customer to the paid version of the free-trial plan.
Se seu aplicativo oferecer testes grátis, você receberá o webhook `marketplace_purchase` com a ação `alterado` quando o teste grátis expirar. Se o teste grátis do cliente expirar, faça a atualização do cliente para a versão paga do plano grátis de teste.
## Step 2. Updating customer accounts
## Etapa 2. Atualizar as contas dos clientes
You'll need to update the customer's account information to reflect the billing cycle and pricing plan changes the customer made to their {% data variables.product.prodname_marketplace %} order. Display upgrades to the pricing plan, `seat_count` (for per-unit pricing plans), and billing cycle on your Marketplace app's website or your app's UI when you receive the `changed` action webhook.
Você precisará atualizar as informações da conta do cliente para refletir as alterações no ciclo de cobrança e no plano de preços que o cliente fez em seu pedido do {% data variables.product.prodname_marketplace %}. Exibe as atualizações para o plano de preços, `seat_count` (para planos de preços por unidade) e ciclo de cobrança no site do aplicativo do Marketplace ou na interface do usuário do seu aplicativo quando você receber a ação de webhook `alterado`.
When a customer downgrades a plan, it's recommended to review whether a customer has exceeded their plan limits and engage with them directly in your UI or by reaching out to them by phone or email.
Quando um cliente faz o downgrade de um plano, recomenda-se revisar se o cliente excedeu os limites do seu plano e interagir diretamente com ele na sua interface de usuário ou entrando em contato por telefone ou e-mail.
Para incentivar as pessoas a fazer a atualização, você pode exibir uma URL de upgrade na interface do usuário do seu aplicativo. Consulte "[Sobre as URLs de atualização](#about-upgrade-urls)" para obter mais detalhes.
To encourage people to upgrade you can display an upgrade URL in your app's UI. See "[About upgrade URLs](#about-upgrade-urls)" for more details.
{% note %}
**Observação:** Recomendamos executar uma sincronização periódica usando `GET /marketplace_listing/plans/:id/accounts` para garantir que seu aplicativo tenha o plano, as informações do ciclo de cobrança e a contagem de unidades (preço por unidade) corretos para cada conta.
**Note:** We recommend performing a periodic synchronization using `GET /marketplace_listing/plans/:id/accounts` to ensure your app has the correct plan, billing cycle information, and unit count (for per-unit pricing) for each account.
{% endnote %}
## Falha nos pagamentos de atualização
## Failed upgrade payments
{% data reusables.marketplace.marketplace-failed-purchase-event %}
## Sobre as URLs de atualização
## About upgrade URLs
Você pode redirecionar os usuários da interface de usuário do seu aplicativo no GitHub, usando uma URL de atualização:
You can redirect users from your app's UI to upgrade on GitHub using an upgrade URL:
```
https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
```
Por exemplo, se você notar que um cliente está em um plano de 5 pessoas e precisa passar para um plano de 10 pessoas, você poderia exibir um botão na interface do usuário do seu aplicativo que diz "Aqui está como atualizar" ou exibir um banner com um link para a URL de atualização. A URL atualização leva o cliente para a página de confirmação de confirmação da atualização do seu plano da listagem.
For example, if you notice that a customer is on a 5 person plan and needs to move to a 10 person plan, you could display a button in your app's UI that says "Here's how to upgrade" or show a banner with a link to the upgrade URL. The upgrade URL takes the customer to your listing plan's upgrade confirmation page.
Use o `LISTING_PLAN_NUMBER` para o plano que o cliente gostaria de comprar. Ao criar novos planos de preços, eles recebem um `LISTING_PLAN_NUMBER`, que é exclusivo para cada plano na sua listagem, e um `LISTING_PLAN_ID`, que é exclusivo para cada plano no {% data variables.product.prodname_marketplace %}. Você pode encontrar esses números ao [Listar planos](/rest/reference/apps#list-plans), que identifica os seus planos de preços da listagem. Use o `LISTING_PLAN_ID` e "[Listar contas de um plano](/rest/reference/apps#list-accounts-for-a-plan)" para obter o `CUSTOMER_ACCOUNT_ID`.
Use the `LISTING_PLAN_NUMBER` for the plan the customer would like to purchase. When you create new pricing plans they receive a `LISTING_PLAN_NUMBER`, which is unique to each plan across your listing, and a `LISTING_PLAN_ID`, which is unique to each plan in the {% data variables.product.prodname_marketplace %}. You can find these numbers when you [List plans](/rest/reference/apps#list-plans), which identifies your listing's pricing plans. Use the `LISTING_PLAN_ID` and the "[List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan)" endpoint to get the `CUSTOMER_ACCOUNT_ID`.
{% note %}
**Observação:** Se seu cliente atualiza unidades adicionais (como estações), você ainda poderá enviá-las para o plano apropriado para a compra, mas não podemos suportar os parâmetros de `unit_count` neste momento.
**Note:** If your customer upgrades to additional units (such as seats), you can still send them to the appropriate plan for their purchase, but we are unable to support `unit_count` parameters at this time.
{% endnote %}

View File

@@ -1,9 +1,9 @@
---
title: Usar a API do GitHub Marketplace no seu aplicativo
intro: 'Aprenda como integrar a API e os eventos do webhook do {% data variables.product.prodname_marketplace %} ao seu aplicativo para o {% data variables.product.prodname_marketplace %}.'
title: Using the GitHub Marketplace API in your app
intro: 'Learn how to integrate the {% data variables.product.prodname_marketplace %} API and webhook events into your app for the {% data variables.product.prodname_marketplace %} .'
redirect_from:
- /apps/marketplace/setting-up-github-marketplace-webhooks/
- /apps/marketplace/integrating-with-the-github-marketplace-api/
- /apps/marketplace/setting-up-github-marketplace-webhooks
- /apps/marketplace/integrating-with-the-github-marketplace-api
- /marketplace/integrating-with-the-github-marketplace-api
versions:
fpt: '*'
@@ -17,6 +17,6 @@ children:
- /handling-new-purchases-and-free-trials
- /handling-plan-changes
- /handling-plan-cancellations
shortTitle: Uso da API do Marketplace
shortTitle: Marketplace API usage
---

View File

@@ -1,9 +1,9 @@
---
title: Pontos de extremidade de REST para a API do GitHub Marketplace
intro: 'Para ajudar a gerenciar seu aplicativo em {% data variables.product.prodname_marketplace %}, use esses pontos de extremidade da API de {% data variables.product.prodname_marketplace %}.'
title: REST endpoints for the GitHub Marketplace API
intro: 'To help manage your app on {% data variables.product.prodname_marketplace %}, use these {% data variables.product.prodname_marketplace %} API endpoints.'
redirect_from:
- /apps/marketplace/github-marketplace-api-endpoints/
- /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints/
- /apps/marketplace/github-marketplace-api-endpoints
- /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints
- /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints
- /developers/github-marketplace/rest-endpoints-for-the-github-marketplace-api
versions:
@@ -11,23 +11,22 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: API REST
shortTitle: REST API
---
Here are some useful endpoints available for Marketplace listings:
Aqui estão alguns pontos de extremidade úteis e disponíveis para listagens do Marketplace:
* [List plans](/rest/reference/apps#list-plans)
* [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan)
* [Get a subscription plan for an account](/rest/reference/apps#get-a-subscription-plan-for-an-account)
* [List subscriptions for the authenticated user](/rest/reference/apps#list-subscriptions-for-the-authenticated-user)
* [Listar planos](/rest/reference/apps#list-plans)
* [Listar contas de um plano](/rest/reference/apps#list-accounts-for-a-plan)
* [Obter um plano de assinatura para uma conta](/rest/reference/apps#get-a-subscription-plan-for-an-account)
* [Listar assinaturas para o usuário autenticado](/rest/reference/apps#list-subscriptions-for-the-authenticated-user)
See these pages for details on how to authenticate when using the {% data variables.product.prodname_marketplace %} API:
Veja estas páginas para obter informações sobre como efetuar a autenticação ao usar a API do {% data variables.product.prodname_marketplace %}:
* [Opções de autorização para aplicativos OAuth](/apps/building-oauth-apps/authorizing-oauth-apps/)
* [Opções de autenticação para aplicativos GitHub](/apps/building-github-apps/authenticating-with-github-apps/)
* [Authorization options for OAuth Apps](/apps/building-oauth-apps/authorizing-oauth-apps/)
* [Authentication options for GitHub Apps](/apps/building-github-apps/authenticating-with-github-apps/)
{% note %}
**Observação:** [Os limites de taxa para a API REST](/rest#rate-limiting) aplicam-se a todos os pontos de extremidade da API de {% data variables.product.prodname_marketplace %}.
**Note:** [Rate limits for the REST API](/rest#rate-limiting) apply to all {% data variables.product.prodname_marketplace %} API endpoints.
{% endnote %}

View File

@@ -1,9 +1,9 @@
---
title: Testar seu aplicativo
intro: 'O GitHub recomenda testar seu aplicativo com APIs e webhooks antes de enviar sua listagem para o {% data variables.product.prodname_marketplace %}, para que você possa oferecer uma experiência ideal para os clientes. Antes que um especialista em integração aprove seu aplicativo, ele deverá tratar adequadamente os fluxos de cobrança.'
title: Testing your app
intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before an onboarding expert approves your app, it must adequately handle the billing flows.'
redirect_from:
- /apps/marketplace/testing-apps-apis-and-webhooks/
- /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/
- /apps/marketplace/testing-apps-apis-and-webhooks
- /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps
- /marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps
- /developers/github-marketplace/testing-your-app
versions:
@@ -12,35 +12,34 @@ versions:
topics:
- Marketplace
---
## Testing apps
## Testar aplicativos
You can use a draft {% data variables.product.prodname_marketplace %} listing to simulate each of the billing flows. A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. Note that you can only simulate purchases for plans published in the draft listing and not for draft plans. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
Você pode usar um rascunho de anúncio de {% data variables.product.prodname_marketplace %} para simular cada um dos fluxos de cobrança. Uma listagem com status de rascunho significa que não foi enviada à aprovação. Qualquer compra que você fizer usando uma listagem de rascunho do {% data variables.product.prodname_marketplace %} _não criará_ transações reais e o GitHub não efetuará nenhuma cobrança no seu cartão de crédito. Observe que você só pode simular compras para planos publicados no rascunho do anúncio e não para rascunho de planos. Para mais informações, consulte "[Elaborar um anúncio para o seu aplicativo](/developers/github-marketplace/drafting-a-listing-for-your-app)" e "[Usar a API de {% data variables.product.prodname_marketplace %} no seu aplicativo](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)".
### Using a development app with a draft listing to test changes
### Usar um aplicativo de desenvolvimento com uma listagem de rascunho para testar alterações
A {% data variables.product.prodname_marketplace %} listing can only be associated with a single app registration, and each app can only access its own {% data variables.product.prodname_marketplace %} listing. For these reasons, we recommend configuring a separate development app, with the same configuration as your production app, and creating a _draft_ {% data variables.product.prodname_marketplace %} listing that you can use for testing. The draft {% data variables.product.prodname_marketplace %} listing allows you to test changes without affecting the active users of your production app. You will never have to submit your development {% data variables.product.prodname_marketplace %} listing, since you will only use it for testing.
Uma listagem do {% data variables.product.prodname_marketplace %} só pode ser associada a um único registro do aplicativo, e cada aplicativo só pode acessar sua própria listagem do {% data variables.product.prodname_marketplace %}. Por este motivo, recomendamos configurar um aplicativo de desenvolvimento separado, com a mesma configuração que o seu aplicativo de produção, bem como criar uma listagem de _rascunho de_ {% data variables.product.prodname_marketplace %} que você pode usar para testes. A listagem de rascunho do {% data variables.product.prodname_marketplace %} permite que você teste alterações sem afetar os usuários ativos do seu aplicativo de produção. Você nunca precisará enviar a sua lista de desenvolvimento do {% data variables.product.prodname_marketplace %}, uma vez que irá usá-la apenas para testes.
Because you can only create draft {% data variables.product.prodname_marketplace %} listings for public apps, you must make your development app public. Public apps are not discoverable outside of published {% data variables.product.prodname_marketplace %} listings as long as you don't share the app's URL. A Marketplace listing in the draft state is only visible to the app's owner.
Como você pode criar apenas listagens de rascunho do {% data variables.product.prodname_marketplace %} para aplicativos públicos, você deve tornar público o seu aplicativo de desenvolvimento. Os aplicativos públicos não são detectáveis fora das listagens publicadas do {% data variables.product.prodname_marketplace %}, desde que que você não compartilhe a URL do aplicativo. Uma listagem do Marketplace com o status de rascunho é visível apenas para o proprietário do aplicativo.
Assim que você tiver um aplicativo de desenvolvimento com uma listagem de rascunho, você poderá usá-lo para testar as alterações feitas no seu aplicativo enquanto os integra à API e aos webhooks do {% data variables.product.prodname_marketplace %}.
Once you have a development app with a draft listing, you can use it to test changes you make to your app while integrating with the {% data variables.product.prodname_marketplace %} API and webhooks.
{% warning %}
Não faça compras de teste com um app que está ativo em {% data variables.product.prodname_marketplace %}.
Do not make test purchases with an app that is live in {% data variables.product.prodname_marketplace %}.
{% endwarning %}
### Simular eventos de compra do Marketplace
### Simulating Marketplace purchase events
Seus cenários de teste podem exigir a definição de planos de listagem que oferecem testes grátis e alternância de assinaturas grátis e pagas. Uma vez que os downgrades e os cancelamentos não entram em vigor antes do próximo ciclo de cobrança, o GitHub fornece um recurso apenas para o desenvolvedor "Aplicar alteração Pendente" para fazer com que as ações `alterado` e `cancelado` do plano entrem em vigor imediatamente. Você pode acessar **Aplicar alteração pendente** para aplicativos de listagens do Marketplace com o status _rascunho_ em https://github.com/settings/billing#pending-cycle:
Your testing scenarios may require setting up listing plans that offer free trials and switching between free and paid subscriptions. Because downgrades and cancellations don't take effect until the next billing cycle, GitHub provides a developer-only feature to "Apply Pending Change" to force `changed` and `cancelled` plan actions to take effect immediately. You can access **Apply Pending Change** for apps with _draft_ Marketplace listings in https://github.com/settings/billing#pending-cycle:
![Aplicar alterações pendentes](/assets/images/github-apps/github-apps-apply-pending-changes.png)
![Apply pending change](/assets/images/github-apps/github-apps-apply-pending-changes.png)
## Testar APIs
## Testing APIs
Para a maioria dos pontos de extremidade da API de do {% data variables.product.prodname_marketplace %}, nós também fornecemos pontos de extremidade de teste da API, que retornam dados falsos de código que você pode usar para testes. Para receber dados de teste, você deve especificar as URLs de teste, que incluem `/teste` no encaminhamento (por exemplo, `/user/marketplace_purchases/stubbed`). Para obter uma lista de pontos de extremidade compatíveis com essa abordagem de dados de teste, consulte [pontos de extremidade do {% data variables.product.prodname_marketplace %} ](/rest/reference/apps#github-marketplace). .
For most {% data variables.product.prodname_marketplace %} API endpoints, we also provide stubbed API endpoints that return hard-coded, fake data you can use for testing. To receive stubbed data, you must specify stubbed URLs, which include `/stubbed` in the route (for example, `/user/marketplace_purchases/stubbed`). For a list of endpoints that support this stubbed-data approach, see [{% data variables.product.prodname_marketplace %} endpoints](/rest/reference/apps#github-marketplace).
## Testar webhooks
## Testing webhooks
O GitHub fornece ferramentas para testar as suas cargas implantadas. Para obter mais informações, consulte "[Testar webhooks](/webhooks/testing/)".
GitHub provides tools for testing your deployed payloads. For more information, see "[Testing webhooks](/webhooks/testing/)."

View File

@@ -1,9 +1,9 @@
---
title: Eventos do Webhook para a API do GitHub Marketplace
intro: 'Um aplicativo do {% data variables.product.prodname_marketplace %} recebe informações sobre mudanças no plano de um usuário no webhook do evento de compra no Marketplace. Um evento de compra no Marketplace é acionado quando um usuário compra, cancela ou muda seu plano de pagamento.'
title: Webhook events for the GitHub Marketplace API
intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan.'
redirect_from:
- /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing/
- /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/
- /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing
- /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events
- /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events
- /developers/github-marketplace/webhook-events-for-the-github-marketplace-api
versions:
@@ -11,66 +11,65 @@ versions:
ghec: '*'
topics:
- Marketplace
shortTitle: Eventos webhook
shortTitle: Webhook events
---
## {% data variables.product.prodname_marketplace %} purchase webhook payload
## Carga do webhook de compra no {% data variables.product.prodname_marketplace %}
Webhooks `POST` requests have special headers. See "[Webhook delivery headers](/webhooks/event-payloads/#delivery-headers)" for more details. GitHub doesn't resend failed delivery attempts. Ensure your app can receive all webhook payloads sent by GitHub.
As solicitações de `POST` têm cabeçalhos especiais. Consulte "[Cabeçalhos de entrega de Webhook](/webhooks/event-payloads/#delivery-headers)" para obter mais informações. O GitHub não reenvia tentativas falhas de entrega. Certifique-se de que seu aplicativo possa receber todas as cargas do webhook enviadas pelo GitHub.
Os cancelamentos e downgrades entram em vigor no primeiro dia do próximo ciclo de cobrança. Os eventos para downgrades e cancelamentos são enviados quando o novo plano entra em vigor no início do próximo ciclo de cobrança. Os eventos referentes às novas compras e atualizações entram em vigor imediatamente. Use `effective_date` na carga do webhook para determinar quando uma alteração terá início.
Cancellations and downgrades take effect on the first day of the next billing cycle. Events for downgrades and cancellations are sent when the new plan takes effect at the beginning of the next billing cycle. Events for new purchases and upgrades begin immediately. Use the `effective_date` in the webhook payload to determine when a change will begin.
{% data reusables.marketplace.marketplace-malicious-behavior %}
Cada carga útil do webhook de `marketplace_purchase` terá as seguintes informações:
Each `marketplace_purchase` webhook payload will have the following information:
| Tecla | Tipo | Descrição |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Ação` | `string` | A ação realizada para gerar o webhook. Pode ser `comprado`, `cancelado`, `pending_change`, `pending_change_cancelled`, ou `alterado`. Para obter mais informações, consulte o exemplo de cargas de webhook abaixo. **Observação:** As cargas `pending_change` e `pending_change_cancelled` contêm as mesmas chaves mostradas no exemplo na carga [`alterado` da carga](#example-webhook-payload-for-a-changed-event). |
| `effective_date` | `string` | A data da `ação` entra em vigor. |
| `remetente` | `objeto` | A pessoa que realizou a `ação` que acionou o webhook. |
| `marketplace_purchase` | `objeto` | Informações de compra do {% data variables.product.prodname_marketplace %}. |
Key | Type | Description
----|------|-------------
`action` | `string` | The action performed to generate the webhook. Can be `purchased`, `cancelled`, `pending_change`, `pending_change_cancelled`, or `changed`. For more information, see the example webhook payloads below. **Note:** The `pending_change` and `pending_change_cancelled` payloads contain the same keys as shown in the [`changed` payload example](#example-webhook-payload-for-a-changed-event).
`effective_date` | `string` | The date the `action` becomes effective.
`sender` | `object` | The person who took the `action` that triggered the webhook.
`marketplace_purchase` | `object` | The {% data variables.product.prodname_marketplace %} purchase information.
O objeto `marketplace_purchase` tem as seguintes chaves:
The `marketplace_purchase` object has the following keys:
| Tecla | Tipo | Descrição |
| -------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `conta` | `objeto` | A conta da `organização` ou do `usuário` associada à assinatura. As contas da organização incluirão `organization_billing_email`, que é o endereço de e-mail administrativo da organização. Para encontrar endereços de e-mail para contas pessoais, você pode usar o ponto de extremidade [Obter o usuário autenticado](/rest/reference/users#get-the-authenticated-user). |
| `billing_cycle` | `string` | Pode ser `anual` ou `mensal`. Quando a o proprietário da `conta` tem um plano grátis do GitHub e comprou um plano grátis do {% data variables.product.prodname_marketplace %}, o `billing_cycle` será `nulo`. |
| `unit_count` | `inteiro` | Número de unidades compradas. |
| `on_free_trial` | `boolean` | `verdadeiro` quando a `conta` está em um teste grátis. |
| `free_trial_ends_on` | `string` | A data em que o teste grátis expirará. |
| `next_billing_date` | `string` | A data em que começará o próximo ciclo de faturamento. Quando o proprietário da `conta` tem um plano grátis do GitHub.com e comprou um plano grátis do {% data variables.product.prodname_marketplace %}, o `next_billing_date` será `nulo`. |
| `plano` | `objeto` | O plano comprado pelo usuário `` ou `organização`. |
Key | Type | Description
----|------|-------------
`account` | `object` | The `organization` or `user` account associated with the subscription. Organization accounts will include `organization_billing_email`, which is the organization's administrative email address. To find email addresses for personal accounts, you can use the [Get the authenticated user](/rest/reference/users#get-the-authenticated-user) endpoint.
`billing_cycle` | `string` | Can be `yearly` or `monthly`. When the `account` owner has a free GitHub plan and has purchased a free {% data variables.product.prodname_marketplace %} plan, `billing_cycle` will be `nil`.
`unit_count` | `integer` | Number of units purchased.
`on_free_trial` | `boolean` | `true` when the `account` is on a free trial.
`free_trial_ends_on` | `string` | The date the free trial will expire.
`next_billing_date` | `string` | The date that the next billing cycle will start. When the `account` owner has a free GitHub.com plan and has purchased a free {% data variables.product.prodname_marketplace %} plan, `next_billing_date` will be `nil`.
`plan` | `object` | The plan purchased by the `user` or `organization`.
O objeto `plano` tem as chaves a seguir:
The `plan` object has the following keys:
| Tecla | Tipo | Descrição |
| ------------------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | `inteiro` | O identificador exclusivo para este plano. |
| `name` | `string` | O nome do plano. |
| `descrição` | `string` | Descrição deste plano. |
| `monthly_price_in_cents` | `inteiro` | O preço mensal deste plano em centavos (moeda americana). Por exemplo, uma listagem que custa 10 lares por mês será 1000 centavos. |
| `yearly_price_in_cents` | `inteiro` | O preço anual deste plano em centavos (moeda americana). Por exemplo, uma listagem que custa 100 lares por mês será 10000 centavos. |
| `price_model` | `string` | O modelo de preço para esta listagem. Pode ser uma das `tarifas fixas`, `por unidade`, ou `grátis`. |
| `has_free_trial` | `boolean` | `verdadeiro` quando esta listagem oferece um teste grátis. |
| `unit_name` | `string` | O nome da unidade. Se o modelo de preços não é `por unidade`, será `nulo`. |
| `marcador` | `array de strigns` | Os nomes dos marcadores estabelecidos no plano de preços. |
Key | Type | Description
----|------|-------------
`id` | `integer` | The unique identifier for this plan.
`name` | `string` | The plan's name.
`description` | `string` | This plan's description.
`monthly_price_in_cents` | `integer` | The monthly price of this plan in cents (US currency). For example, a listing that costs 10 US dollars per month will be 1000 cents.
`yearly_price_in_cents` | `integer` | The yearly price of this plan in cents (US currency). For example, a listing that costs 100 US dollars per month will be 10000 cents.
`price_model` | `string` | The pricing model for this listing. Can be one of `flat-rate`, `per-unit`, or `free`.
`has_free_trial` | `boolean` | `true` when this listing offers a free trial.
`unit_name` | `string` | The name of the unit. If the pricing model is not `per-unit` this will be `nil`.
`bullet` | `array of strings` | The names of the bullets set in the pricing plan.
<br/>
### Exemplo de carga de webhook para um evento `comprado`
Este exemplo fornece a carga do evento `comprado`.
### Example webhook payload for a `purchased` event
This example provides the `purchased` event payload.
{{ webhookPayloadsForCurrentVersion.marketplace_purchase.purchased }}
### Exemplo de carga de webhook para um evento `alterado`
### Example webhook payload for a `changed` event
As alterações em um plano incluem atualizações e downgrades. Este exemplo representa as cargas de eventos `alterados`,`pending_change` e `pending_change_cancelled`. A ação identifica qual destes três acontecimentos ocorreu.
Changes in a plan include upgrades and downgrades. This example represents the `changed`,`pending_change`, and `pending_change_cancelled` event payloads. The action identifies which of these three events has occurred.
{{ webhookPayloadsForCurrentVersion.marketplace_purchase.changed }}
### Exemplo de carga de webhook para um evento `cancelado`
### Example webhook payload for a `cancelled` event
{{ webhookPayloadsForCurrentVersion.marketplace_purchase.cancelled }}

View File

@@ -2,7 +2,7 @@
title: Managing deploy keys
intro: Learn different ways to manage SSH keys on your servers when you automate deployment scripts and which way is best for you.
redirect_from:
- /guides/managing-deploy-keys/
- /guides/managing-deploy-keys
- /v3/guides/managing-deploy-keys
versions:
fpt: '*'

View File

@@ -1,9 +1,9 @@
---
title: Substituir os GitHub Services
intro: 'Se você ainda depende dos serviços obsoletos do {% data variables.product.prodname_dotcom %}, aprenda como migrar seus hooks de serviço para webhooks.'
title: Replacing GitHub Services
intro: 'If you''re still relying on the deprecated {% data variables.product.prodname_dotcom %} Services, learn how to migrate your service hooks to webhooks.'
redirect_from:
- /guides/replacing-github-services/
- /v3/guides/automating-deployments-to-integrators/
- /guides/replacing-github-services
- /v3/guides/automating-deployments-to-integrators
- /v3/guides/replacing-github-services
versions:
fpt: '*'
@@ -14,61 +14,61 @@ topics:
---
Nós tornamos o GitHub Services obsoletos em favor da integração com webhooks. Este guia ajuda você a fazer a transição para webhooks dos serviços do GitHub. Para obter mais informações sobre este anúncio, consulte o [post do blog](https://developer.github.com/changes/2018-10-01-denying-new-github-services).
We have deprecated GitHub Services in favor of integrating with webhooks. This guide helps you transition to webhooks from GitHub Services. For more information on this announcement, see the [blog post](https://developer.github.com/changes/2018-10-01-denying-new-github-services).
{% note %}
Como uma alternativa ao serviço de e-mail, agora você pode começar a usar notificações por e-mail para push no repositório. Consulte "[Sobre notificações por e-mail para pushes no seu repositório](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/)para aprender como configurar as notificações por e-mail do commit.
As an alternative to the email service, you can now start using email notifications for pushes to your repository. See "[About email notifications for pushes to your repository](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/)" to learn how to configure commit email notifications.
{% endnote %}
## Linha do tempo da depreciação
## Deprecation timeline
- **1 de outubro de 2018**: o GitHub foi suspenso, permitindo que os usuários instalassem serviços. Removemos o GitHub Services da interface de usuário do GitHub.com.
- **29 de janeiro de 2019**: Como alternativa ao serviço de e-mail, você pode começar a usar notificações por e-mail para push em seu repositório. Consulte "[Sobre notificações por e-mail para pushes no seu repositório](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/)para aprender como configurar as notificações por e-mail do commit.
- **31 de janeiro de 2019**: o GitHub irá parar de implementar os eventos dos serviços instalados no GitHub.com.
- **October 1, 2018**: GitHub discontinued allowing users to install services. We removed GitHub Services from the GitHub.com user interface.
- **January 29, 2019**: As an alternative to the email service, you can now start using email notifications for pushes to your repository. See "[About email notifications for pushes to your repository](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/)" to learn how to configure commit email notifications.
- **January 31, 2019**: GitHub will stop delivering installed services' events on GitHub.com.
## Antecedentes do GitHub Services
## GitHub Services background
P GitHub Services (às vezes referido como Hooks de Serviço) é o método legado de integração, em que o GitHub hospedou uma parte dos serviços do nosso integrador por meio do [repositório `github-services`](https://github.com/github/github-services). Ações executadas no GitHub acionam esses serviços e você pode usá-los para acionar ações fora do GitHub.
GitHub Services (sometimes referred to as Service Hooks) is the legacy method of integrating where GitHub hosted a portion of our integrators services via [the `github-services` repository](https://github.com/github/github-services). Actions performed on GitHub trigger these services, and you can use these services to trigger actions outside of GitHub.
{% ifversion ghes or ghae %}
## Encontrar repositórios que usam o GitHub Services
Fornecemos um script de linha de comando que ajuda a identificar quais repositórios usam o GitHub Services. Para obter mais informações, consulte [ghe-legacy-github-services-report](/enterprise/{{currentVersion}}/admin/articles/command-line-utilities/#ghe-legacy-github-services-report).{% endif %}
## Finding repositories that use GitHub Services
We provide a command-line script that helps you identify which repositories on your appliance use GitHub Services. For more information, see [ghe-legacy-github-services-report](/enterprise/{{currentVersion}}/admin/articles/command-line-utilities/#ghe-legacy-github-services-report).{% endif %}
## GitHub Services vs. webhooks
As principais diferenças entre o GitHub Services e webhooks:
- **Configuração**: O GitHub Services tem opções de configuração específicas do serviço, enquanto os webhooks são configurados simplesmente especificando uma URL e um conjunto de eventos.
- **Lógica personalizada**: O GitHub Services pode ter uma lógica personalizada para responder com várias ações como parte do processamento de um único evento, enquanto os webhooks não têm nenhuma lógica personalizada.
- **Tipos de solicitações**: O GitHub Services pode fazer solicitações HTTP e que não são HTTP, enquanto os webhooks podem fazer apenas solicitações HTTP.
The key differences between GitHub Services and webhooks:
- **Configuration**: GitHub Services have service-specific configuration options, while webhooks are simply configured by specifying a URL and a set of events.
- **Custom logic**: GitHub Services can have custom logic to respond with multiple actions as part of processing a single event, while webhooks have no custom logic.
- **Types of requests**: GitHub Services can make HTTP and non-HTTP requests, while webhooks can make HTTP requests only.
## Substituir os serviços por webhooks
## Replacing Services with webhooks
Para substituir GitHub Services por Webhooks:
To replace GitHub Services with Webhooks:
1. Identifique os eventos de webhook relevantes que você precisará assinar [nesta lista](/webhooks/#events).
1. Identify the relevant webhook events youll need to subscribe to from [this list](/webhooks/#events).
2. Altere sua configuração dependendo de como você usa atualmente os GitHub Services:
2. Change your configuration depending on how you currently use GitHub Services:
- **Aplicativos GitHub**: Atualize as permissões e eventos assinados do aplicativo para configurar seu aplicativo para receber os eventos de webhook relevantes.
- **Aplicativos OAuth**: Solicite o(s) escopo(s) `repo_hook` e/ou `org_hook` para gerenciar os eventos relevantes em nome dos usuários.
- **Provedores do GitHub Services**: Solicite que os usuários configurem manualmente um webhook com os eventos relevantes enviados a você, ou aproveite esta oportunidade para criar um aplicativo para gerenciar essa funcionalidade. Para obter mais informações, consulte "[Sobre os aplicativos](/apps/about-apps/)".
- **GitHub Apps**: Update your app's permissions and subscribed events to configure your app to receive the relevant webhook events.
- **OAuth Apps**: Request either the `repo_hook` and/or `org_hook` scope(s) to manage the relevant events on behalf of users.
- **GitHub Service providers**: Request that users manually configure a webhook with the relevant events sent to you, or take this opportunity to build an app to manage this functionality. For more information, see "[About apps](/apps/about-apps/)."
3. Mover configuração adicional de fora do GitHub. Alguns GitHub Services exigem uma configuração adicional e personalizada na página de configuração do GitHub. Se o seu serviço fizer isso, você deverá mover esta funcionalidade para seu aplicativo ou depender dos aplicativos GitHub ou OAuth, quando necessário.
3. Move additional configuration from outside of GitHub. Some GitHub Services require additional, custom configuration on the configuration page within GitHub. If your service does this, you will need to move this functionality into your application or rely on GitHub or OAuth Apps where applicable.
## Compatibilidade com {% data variables.product.prodname_ghe_server %}
## Supporting {% data variables.product.prodname_ghe_server %}
- **{% data variables.product.prodname_ghe_server %} 2.17**: O {% data variables.product.prodname_ghe_server %} com versão 2.17 ou superior irá parar de permitir que os administradores instalem serviços. Os administradores continuarão podendo modificar hooks de serviço existentes e receber hooks de serviço no {% data variables.product.prodname_ghe_server %} para as versões 2.17 a 2.19. Como alternativa ao serviço de e-mail, você poderá usar notificações de e-mail para push para seu repositório no {% data variables.product.prodname_ghe_server %} com versão 2.17 ou superior. Consulte [este poste de blog](https://developer.github.com/changes/2019-01-29-life-after-github-services) para saber mais.
- **{% data variables.product.prodname_ghe_server %} 2.20**: O {% data variables.product.prodname_ghe_server %} com versão 2.20 e superior deixará de implementar os eventos de todos os serviços instalados.
- **{% data variables.product.prodname_ghe_server %} 2.17**: {% data variables.product.prodname_ghe_server %} release 2.17 and higher will discontinue allowing admins to install services. Admins will continue to be able to modify existing service hooks and receive service hooks in {% data variables.product.prodname_ghe_server %} release 2.17 through 2.19. As an alternative to the email service, you will be able to use email notifications for pushes to your repository in {% data variables.product.prodname_ghe_server %} 2.17 and higher. See [this blog post](https://developer.github.com/changes/2019-01-29-life-after-github-services) to learn more.
- **{% data variables.product.prodname_ghe_server %} 2.20**: {% data variables.product.prodname_ghe_server %} release 2.20 and higher will stop delivering all installed services' events.
A versão 2.17 do {% data variables.product.prodname_ghe_server %} será a primeira versão que não permite que os administradores instalem o GitHub Services. suportaremos o GitHub Services existente até o lançamento da versão do {% data variables.product.prodname_ghe_server %}. Também aceitaremos quaisquer patches críticos o seu GitHub Services em execução em {% data variables.product.prodname_ghe_server %} até 1 de outubro de 2019.
The {% data variables.product.prodname_ghe_server %} 2.17 release will be the first release that does not allow admins to install GitHub Services. We will only support existing GitHub Services until the {% data variables.product.prodname_ghe_server %} 2.20 release. We will also accept any critical patches for your GitHub Service running on {% data variables.product.prodname_ghe_server %} until October 1, 2019.
## Migrar com a nossa ajuda
## Migrating with our help
[Entre em contato conosco](https://github.com/contact?form%5Bsubject%5D=GitHub+Services+Deprecation) em caso de dúvida.
Please [contact us](https://github.com/contact?form%5Bsubject%5D=GitHub+Services+Deprecation) with any questions.
Como uma visão geral de alto nível, o processo de migração normalmente envolve:
- Identificar como e onde seu produto está usando o GitHub Services.
- Identificar os eventos de webhook correspondentes que você precisa configurar para mover para webhooks simples.
- Implementando o design usando [{% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/) ou [{% data variables.product.prodname_github_apps %}. {% data variables.product.prodname_github_apps %}s](/apps/building-github-apps/) são preferidos. Para saber mais sobre o porquê de {% data variables.product.prodname_github_apps %} ser preferido, consulte "[Motivos para mudar para {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/#reasons-for-switching-to-github-apps)".
As a high-level overview, the process of migration typically involves:
- Identifying how and where your product is using GitHub Services.
- Identifying the corresponding webhook events you need to configure in order to move to plain webhooks.
- Implementing the design using either [{% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/) or [{% data variables.product.prodname_github_apps %}. {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/) are preferred. To learn more about why {% data variables.product.prodname_github_apps %} are preferred, see "[Reasons for switching to {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/#reasons-for-switching-to-github-apps)."

View File

@@ -1,9 +1,9 @@
---
title: Programa de verificação de segredo de parceiros
intro: 'Como um provedor de serviço, você pode associar-se ao {% data variables.product.prodname_dotcom %} para proteger os seus formatos de token secretos por varredura de segredos, que pesquisa commits acidentais no seu formato secreto e que pode ser enviado para o ponto de extremidade de verificação de um provedor de serviços.'
title: Secret scanning partner program
intro: 'As a service provider, you can partner with {% data variables.product.prodname_dotcom %} to have your secret token formats secured through secret scanning, which searches for accidental commits of your secret format and can be sent to a service provider''s verify endpoint.'
miniTocMaxHeadingLevel: 3
redirect_from:
- /partnerships/token-scanning/
- /partnerships/token-scanning
- /partnerships/secret-scanning
- /developers/overview/secret-scanning
versions:
@@ -11,55 +11,55 @@ versions:
ghec: '*'
topics:
- API
shortTitle: Varredura secreta
shortTitle: Secret scanning
---
O {% data variables.product.prodname_dotcom %} faz a varredura de repositórios de formatos secretos conhecidos para evitar uso fraudulento de credenciais confirmadas acidentalmente. {% data variables.product.prodname_secret_scanning_caps %} acontece por padrão em repositórios públicos e pode ser habilitado em repositórios privados por administradores de repositório ou proprietários da organização. Como provedor de serviço, você pode fazer parcerias com {% data variables.product.prodname_dotcom %} para que seus formatos de segredo estejam incluídos em nosso {% data variables.product.prodname_secret_scanning %}.
{% data variables.product.prodname_dotcom %} scans repositories for known secret formats to prevent fraudulent use of credentials that were committed accidentally. {% data variables.product.prodname_secret_scanning_caps %} happens by default on public repositories, and can be enabled on private repositories by repository administrators or organization owners. As a service provider, you can partner with {% data variables.product.prodname_dotcom %} so that your secret formats are included in our {% data variables.product.prodname_secret_scanning %}.
Quando uma correspondência do seu formato secreto é encontrada em um repositório público, uma carga é enviada para um ponto de extremidade HTTP de sua escolha.
When a match of your secret format is found in a public repository, a payload is sent to an HTTP endpoint of your choice.
Quando uma correspondência do formato secreto é encontrada em um repositório privado configurado para {% data variables.product.prodname_secret_scanning %}, os administradores do repositório e o committer são alertados e podem visualizar e gerenciar o resultado {% data variables.product.prodname_secret_scanning %} em {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte "[Gerenciando alertas do {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."
When a match of your secret format is found in a private repository configured for {% data variables.product.prodname_secret_scanning %}, then repository admins and the committer are alerted and can view and manage the {% data variables.product.prodname_secret_scanning %} result on {% data variables.product.prodname_dotcom %}. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."
Este artigo descreve como você pode fazer parceria com {% data variables.product.prodname_dotcom %} como um provedor de serviço e juntar-se ao programa de parceiro de {% data variables.product.prodname_secret_scanning %}.
This article describes how you can partner with {% data variables.product.prodname_dotcom %} as a service provider and join the {% data variables.product.prodname_secret_scanning %} partner program.
## O processo de {% data variables.product.prodname_secret_scanning %}
## The {% data variables.product.prodname_secret_scanning %} process
#### Como {% data variables.product.prodname_secret_scanning %} funciona em um repositório público
#### How {% data variables.product.prodname_secret_scanning %} works in a public repository
O diagrama a seguir resume o processo de {% data variables.product.prodname_secret_scanning %} para repositórios públicos, com qualquer correspondência enviada para o ponto de extremidade de verificação de um provedor de serviços.
The following diagram summarizes the {% data variables.product.prodname_secret_scanning %} process for public repositories, with any matches sent to a service provider's verify endpoint.
![Diagrama do fluxo que mostra o processo de varredura de um segredo e envio de correspondências para o ponto de extremidade de verificação de um provedor de serviços](/assets/images/secret-scanning-flow.png "Fluxo de {% data variables.product.prodname_secret_scanning_caps %}")
![Flow diagram showing the process of scanning for a secret and sending matches to a service provider's verify endpoint](/assets/images/secret-scanning-flow.png "{% data variables.product.prodname_secret_scanning_caps %} flow")
## Juntando-se ao programa de {% data variables.product.prodname_secret_scanning %} em {% data variables.product.prodname_dotcom %}
## Joining the {% data variables.product.prodname_secret_scanning %} program on {% data variables.product.prodname_dotcom %}
1. Entre em contato com {% data variables.product.prodname_dotcom %} para dar início ao processo.
1. Identifique os segredos relevantes cuja varredura você deseja realizar e crie expressões regulares para capturá-los.
1. Para correspondências de segredos encontradas em repositórios públicos, crie um serviço de alerta de segredo que aceite webhooks de {% data variables.product.prodname_dotcom %} que contenham a carga da mensagem de {% data variables.product.prodname_secret_scanning %}.
1. Implemente a verificação de assinatura em seu serviço de alerta secreto.
1. Implemente revogação do segredo e notificação do usuário no seu serviço de alerta secreto.
1. Fornece feedback sobre falsos positivos (opcional).
1. Contact {% data variables.product.prodname_dotcom %} to get the process started.
1. Identify the relevant secrets you want to scan for and create regular expressions to capture them.
1. For secret matches found in public repositories, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload.
1. Implement signature verification in your secret alert service.
1. Implement secret revocation and user notification in your secret alert service.
1. Provide feedback for false positives (optional).
### Entre em contato com {% data variables.product.prodname_dotcom %} para dar início ao processo
### Contact {% data variables.product.prodname_dotcom %} to get the process started
Para iniciar o processo de inscrição, envie um e-mail para <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
To get the enrollment process started, email <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
Você receberá detalhes do programa de {% data variables.product.prodname_secret_scanning %} e você precisará aceitar os termos de participação de {% data variables.product.prodname_dotcom %} antes de prosseguir.
You will receive details on the {% data variables.product.prodname_secret_scanning %} program, and you will need to agree to {% data variables.product.prodname_dotcom %}'s terms of participation before proceeding.
### Identifique seus segredos e crie expressões regulares
### Identify your secrets and create regular expressions
Para fazer a varredura dos seus segredos, {% data variables.product.prodname_dotcom %} precisa das informações a seguir para cada segredo que você deseja que seja incluído no programa {% data variables.product.prodname_secret_scanning %}:
To scan for your secrets, {% data variables.product.prodname_dotcom %} needs the following pieces of information for each secret that you want included in the {% data variables.product.prodname_secret_scanning %} program:
* Um nome único e legível para o tipo do segredo. Nós vamos usá-lo para gerar o valor `Tipo` na carga da mensagem posteriormente.
* Uma expressão regular que encontra o tipo do segredo. Seja o mais preciso possível, pois isso reduzirá o número de falsos positivos.
* A URL do ponto de extremidade que recebe mensagens de {% data variables.product.prodname_dotcom %}. Isso não precisa ser único para cada tipo de segredo.
* A unique, human readable name for the secret type. We'll use this to generate the `Type` value in the message payload later.
* A regular expression which finds the secret type. Be as precise as possible, because this will reduce the number of false positives.
* The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. This does not have to be unique for each secret type.
Envie esta informação para <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
Send this information to <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
### Crie um serviço de alerta secreto
### Create a secret alert service
Crie um ponto de extremidade HTTP público e acessível à internet na URL que você nos forneceu. Quando uma correspondência da sua expressão regular é encontrada em um repositório público, {% data variables.product.prodname_dotcom %} enviará uma mensagem HTTP `POST` para o seu ponto de extremidade.
Create a public, internet accessible HTTP endpoint at the URL you provided to us. When a match of your regular expression is found in a public repository, {% data variables.product.prodname_dotcom %} will send an HTTP `POST` message to your endpoint.
#### Exemplo de POST enviado para seu ponto de extremidade
#### Example POST sent to your endpoint
```http
POST / HTTP/2
@@ -73,33 +73,34 @@ Content-Length: 0123
```
The message body is a JSON array that contains one or more objects with the following contents. When multiple matches are found, {% data variables.product.prodname_dotcom %} may send a single message with more than one secret match. Your endpoint should be able to handle requests with a large number of matches without timing out.
* **Token**: The value of the secret match.
* **Tipo**: O nome único que você forneceu para identificar sua expressão regular.
* **URL**: A URL de commit pública onde a correspondência foi encontrada.
* **Type**: The unique name you provided to identify your regular expression.
* **URL**: The public commit URL where the match was found.
### Implement signature verification in your secret alert service
We strongly recommend you implement signature validation in your secret alert service to ensure that the messages you receive are genuinely from {% data variables.product.prodname_dotcom %} and not malicious.
You can retrieve the {% data variables.product.prodname_dotcom %} secret scanning public key from https://api.github.com/meta/public_keys/secret_scanning and validate the message using the `ECDSA-NIST-P256V1-SHA256` algorithm.
{% note %}
**Note**: When you send a request to the public key endpoint above, you may hit rate limits. To avoid hitting rate limits, you can use a personal access token (no scopes required) as suggested in the samples below, or use a conditional request. For more information, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#conditional-requests)."
{% endnote %}
Assuming you receive the following message, the code snippets below demonstrate how you could perform signature validation.
The code snippets assume you've set an environment variable called `GITHUB_PRODUCTION_TOKEN` with a generated PAT (https://github.com/settings/tokens) to avoid hitting rate limits. The PAT does not need any scopes/permissions.
{% note %}
**Note**: The signature was generated using the raw message body. So it's important you also use the raw message body for signature validation, instead of parsing and stringifying the JSON, to avoid rearranging the message or changing spacing.
{% endnote %}
**Sample message sent to verify endpoint**
```http
```http
POST / HTTP/2
Host: HOST
Accept: */*
@@ -112,7 +113,7 @@ Content-Length: 0000
**Validation sample in Go**
```golang
package main
package main
import (
"crypto/ecdsa"
@@ -199,30 +200,31 @@ func main() {
fmt.Println("GitHub key was not ECDSA, what are they doing?!")
os.Exit(7)
}
// Parse the Webhook Signature
parsedSig := asn1Signature{}
asnSig, err := base64.StdEncoding.DecodeString(kSig)
if err != nil {
fmt. Printf("unable to base64 decode signature: %s\n", err)
fmt.Printf("unable to base64 decode signature: %s\n", err)
os.Exit(8)
}
rest, err := asn1. Unmarshal(asnSig, &parsedSig)
}
rest, err := asn1.Unmarshal(asnSig, &parsedSig)
if err != nil || len(rest) != 0 {
fmt. Printf("Error unmarshalling asn.1 signature: %s\n", err)
fmt.Printf("Error unmarshalling asn.1 signature: %s\n", err)
os.Exit(9)
}
}
// Verify the SHA256 encoded payload against the signature with GitHub's Key
digest := sha256.Sum256([]byte(payload))
keyOk := ecdsa.Verify(ecdsaKey, digest[:], parsedSig.R, parsedSig.S)
if keyOk {
if keyOk {
fmt.Println("THE PAYLOAD IS GOOD!!")
} else {
os. Exit(10)
}
}
fmt.Println("the payload is invalid :(")
os.Exit(10)
}
}
type GitHubSigningKeys struct {
PublicKeys []struct {
@@ -236,12 +238,12 @@ type GitHubSigningKeys struct {
type asn1Signature struct {
R *big.Int
S *big.Int
}
```
}
```
**Validation sample in Ruby**
```ruby
require 'openssl'
require 'openssl'
require 'net/http'
require 'uri'
require 'json'
@@ -281,7 +283,7 @@ openssl_key = OpenSSL::PKey::EC.new(current_key)
**Validation sample in JavaScript**
```js
const crypto = require("crypto");
const crypto = require("crypto");
const axios = require("axios");
const GITHUB_KEYS_URI = "https://api.github.com/meta/public_keys/secret_scanning";
@@ -323,17 +325,17 @@ const verify_signature = async (payload, signature, keyID) => {
### Implement secret revocation and user notification in your secret alert service
Para {% data variables.product.prodname_secret_scanning %} em repositórios públicos, você pode melhorar o seu serviço de alerta de segredo para revogar os segredos expostos e notificar os usuários afetados. Você define como implementa isso no seu serviço de alerta de segredo, mas recomendamos considerar qualquer segredo que {% data variables.product.prodname_dotcom %} envie mensagens de que é público e que está comprometido.
For {% data variables.product.prodname_secret_scanning %} in public repositories, you can enhance your secret alert service to revoke the exposed secrets and notify the affected users. How you implement this in your secret alert service is up to you, but we recommend considering any secrets that {% data variables.product.prodname_dotcom %} sends you messages about as public and compromised.
### Fornece feedback sobre falsos positivos
### Provide feedback for false positives
Coletamos feedback sobre a validade dos segredos individuais detectados nas respostas do parceiro. Se você deseja participar, envie um e-mail para <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
We collect feedback on the validity of the detected individual secrets in partner responses. If you wish to take part, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
Quando relatamos segredos para você, enviamos uma matriz JSON com cada elemento que contém o token, o identificador de tipo e a URL dp commit. Quando você nos envia feedback, você nos envia informações sobre se o token detectado era uma credencial real ou falsa. Aceitamos comentários nos seguintes formatos.
When we report secrets to you, we send a JSON array with each element containing the token, type identifier, and commit URL. When you send us feedback, you send us information about whether the detected token was a real or false credential. We accept feedback in the following formats.
Você pode nos enviar o token não processado:
You can send us the raw token:
```
```
[
{
"token_raw": "The raw token",
@@ -344,7 +346,7 @@ Você pode nos enviar o token não processado:
```
You may also provide the token in hashed form after performing a one way cryptographic hash of the raw token using SHA-256:
```
```
[
{
"token_hash": "The SHA-256 hashed form of the raw token",
@@ -355,13 +357,13 @@ Você também pode fornecer o token em forma de hash após executar uma única f
```
A few important points:
- You should only send us either the raw form of the token ("token_raw"), or the hashed form ("token_hash"), but not both.
- Para a forma de hash do token não processado, você só pode usar SHA-256 para armazenar o token, e não qualquer outro algoritmo de hashing.
- A etiqueta indica se o token é verdadeiro ("true_positive") ou um falso positivo ("false_positive"). São permitidas apenas essas duas strings literais minúsculas.
{% note %}
- For the hashed form of the raw token, you can only use SHA-256 to hash the token, not any other hashing algorithm.
- The label indicates whether the token is a true ("true_positive") or a false positive ("false_positive"). Only these two lowercased literal strings are allowed.
{% note %}
**Note:** Our request timeout is set to be higher (that is, 30 seconds) for partners who provide data about false positives. If you require a timeout higher than 30 seconds, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
{% endnote %}
{% endnote %}
{% endnote %}

View File

@@ -1,8 +1,8 @@
---
title: Usar o encaminhamento de agente SSH
intro: 'Para simplificar a implantação em um servidor, você pode configurar o encaminhamento do agente para usar as chaves SSH locais de forma segura.'
title: Using SSH agent forwarding
intro: 'To simplify deploying to a server, you can set up SSH agent forwarding to securely use local SSH keys.'
redirect_from:
- /guides/using-ssh-agent-forwarding/
- /guides/using-ssh-agent-forwarding
- /v3/guides/using-ssh-agent-forwarding
versions:
fpt: '*'
@@ -11,50 +11,50 @@ versions:
ghec: '*'
topics:
- API
shortTitle: Encaminhamento de agente SSH
shortTitle: SSH agent forwarding
---
O encaminhamento do agente SSH pode ser usado para simplificar a implantação em um servidor. Isso permite que você use suas chaves SSH locais em vez de deixar as chaves (sem frase secreta!) no seu servidor.
SSH agent forwarding can be used to make deploying to a server simple. It allows you to use your local SSH keys instead of leaving keys (without passphrases!) sitting on your server.
Se você já configurou uma chave SSH para interagir com {% data variables.product.product_name %}, você provavelmente está familiarizado com o `ssh-agent`. É um programa que é executado em segundo plano e mantém sua chave carregada na memória para que você não precise digitar a sua frase secreta toda vez que precisar usar a chave. O fato é que você pode optar por deixar os servidores acessarem seu `ssh-agent local` como se já estivessem em execução no servidor. Isso é como pedir a um amigo para digitar sua senha para que você possa usar o computador.
If you've already set up an SSH key to interact with {% data variables.product.product_name %}, you're probably familiar with `ssh-agent`. It's a program that runs in the background and keeps your key loaded into memory, so that you don't need to enter your passphrase every time you need to use the key. The nifty thing is, you can choose to let servers access your local `ssh-agent` as if they were already running on the server. This is sort of like asking a friend to enter their password so that you can use their computer.
Confira o [Guia das Dicas Técnicas de Steve Friedl][tech-tips] para obter uma explicação mais detalhada sobre encaminhamento do agente SSH.
Check out [Steve Friedl's Tech Tips guide][tech-tips] for a more detailed explanation of SSH agent forwarding.
## Configurar o encaminhamento do agente SSH
## Setting up SSH agent forwarding
Certifique-se de que sua própria chave SSH esteja configurada e funcionando. Você pode usar [nosso guia sobre a geração de chaves SSH][generating-keys], caso ainda não tenha feito isso.
Ensure that your own SSH key is set up and working. You can use [our guide on generating SSH keys][generating-keys] if you've not done this yet.
Você pode testar se a chave local funciona, inserindo `ssh -T git@{% ifversion ghes or ghae %}nome de host{% else %}github. om{% endif %}` no terminal:
You can test that your local key works by entering `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` in the terminal:
```shell
$ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}
# Attempt to SSH in to github
> Hi <em>username</em>! Você autenticou com sucesso, mas o GitHub não fornece
> acesso shell.
> Hi <em>username</em>! You've successfully authenticated, but GitHub does not provide
> shell access.
```
Começamos bem. Vamos configurar SSH para permitir o encaminhamento de agentes para o seu servidor.
We're off to a great start. Let's set up SSH to allow agent forwarding to your server.
1. Usando o seu editor de texto favorito, abra o arquivo em `~/.ssh/config`. Se este arquivo não existir, você poderá criá-lo digitando `touch ~/.ssh/config` no terminal.
1. Using your favorite text editor, open up the file at `~/.ssh/config`. If this file doesn't exist, you can create it by entering `touch ~/.ssh/config` in the terminal.
2. Enter the following text into the file, replacing `example.com` with your server's domain name or IP:
2. Digite o seguinte texto no arquivo, substituindo `example.com` pelo nome do domínio ou IP do seu servidor:
Host example.com
ForwardAgent yes
{% warning %}
**Aviso:** Você pode estar tentado a usar um caractere curinga como `Host *` para aplicar esta configuração em todas as conexões SSH. Na verdade, isso não é uma boa ideia, já que você iria compartilhar suas chaves SSH locais com *todos* os servidores que ingressar com SSH. Eles não terão acesso direto às chaves, mas serão poderão usá-las *como você* enquanto a conexão for estabelecida. **Você deve adicionar apenas os servidores em que confia e que pretende usar com o encaminhamento de agentes.**
**Warning:** You may be tempted to use a wildcard like `Host *` to just apply this setting to all SSH connections. That's not really a good idea, as you'd be sharing your local SSH keys with *every* server you SSH into. They won't have direct access to the keys, but they will be able to use them *as you* while the connection is established. **You should only add servers you trust and that you intend to use with agent forwarding.**
{% endwarning %}
## Testar o encaminhamento de agente SSH
## Testing SSH agent forwarding
Para testar se o encaminhamento de agente está funcionando com seu servidor, você pode ingressar por SSH no servidor e executar `ssh -T git@{% ifversion ghes or ghae %}nome de host{% else %}github.com{% endif %}` mais uma vez. Se tudo correr bem, você retornará à mesma mensagem apresentada quando você fez localmente.
To test that agent forwarding is working with your server, you can SSH into your server and run `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` once more. If all is well, you'll get back the same prompt as you did locally.
Se você não tiver certeza se sua chave local está sendo usada, você também poderá inspecionar a variável `SSH_AUTH_SOCK` no seu servidor:
If you're unsure if your local key is being used, you can also inspect the `SSH_AUTH_SOCK` variable on your server:
```shell
$ echo "$SSH_AUTH_SOCK"
@@ -62,7 +62,7 @@ $ echo "$SSH_AUTH_SOCK"
> /tmp/ssh-4hNGMk8AZX/agent.79453
```
Se a variável não estiver definida, significa que o encaminhamento de agentes não está funcionando:
If the variable is not set, it means that agent forwarding is not working:
```shell
$ echo "$SSH_AUTH_SOCK"
@@ -73,13 +73,13 @@ $ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}
> Permission denied (publickey).
```
## Solucionar problemas de encaminhamento de agente SSH
## Troubleshooting SSH agent forwarding
Aqui estão algumas coisas a serem analisadas quando o agente SSH for encaminhado para solução de problemas.
Here are some things to look out for when troubleshooting SSH agent forwarding.
### Você deve estar usando uma URL com SSH para fazer check-out do código
### You must be using an SSH URL to check out code
O encaminhamento de SSH só funciona com URLs com SSH, e não com URLs com HTTP(s). Verifique o arquivo *.git/config* no seu servidor e certifique-se de que a URL está na forma SSH, conforme abaixo:
SSH forwarding only works with SSH URLs, not HTTP(s) URLs. Check the *.git/config* file on your server and ensure the URL is an SSH-style URL like below:
```shell
[remote "origin"]
@@ -87,13 +87,13 @@ O encaminhamento de SSH só funciona com URLs com SSH, e não com URLs com HTTP(
fetch = +refs/heads/*:refs/remotes/origin/*
```
### As suas chaves SSH devem funcionar localmente
### Your SSH keys must work locally
Antes de fazer suas chaves funcionarem por meio do encaminhamento de agentes, primeiro elas devem funcionar localmente. [Nosso guia sobre como gerar chaves SSH][generating-keys] pode ajudá-lo a configurar suas chaves SSH localmente.
Before you can make your keys work through agent forwarding, they must work locally first. [Our guide on generating SSH keys][generating-keys] can help you set up your SSH keys locally.
### Seu sistema deve permitir o encaminhamento do agente SSH
### Your system must allow SSH agent forwarding
Às vezes, as configurações do sistema não permitem o encaminhamento do agente SSH. Você pode verificar se um arquivo de configuração do sistema está sendo usado digitando o seguinte comando no terminal:
Sometimes, system configurations disallow SSH agent forwarding. You can check if a system configuration file is being used by entering the following command in the terminal:
```shell
$ ssh -v <em>example.com</em>
@@ -107,7 +107,7 @@ $ exit
# Returns to your local command prompt
```
No exemplo acima, o arquivo *~/.ssh/config* é carregado primeiro e */etc/ssh_config* é lido em seguida. Podemos inspecionar esse arquivo para ver se está sobrescrevendo nossas opções, ao executar os seguintes comandos:
In the example above, the file *~/.ssh/config* is loaded first, then */etc/ssh_config* is read. We can inspect that file to see if it's overriding our options by running the following commands:
```shell
$ cat /etc/ssh_config
@@ -117,17 +117,17 @@ $ cat /etc/ssh_config
> ForwardAgent no
```
Neste exemplo, nosso arquivo */etc/ssh_config* diz especificamente `ForwardAgent no`, que é uma maneira de bloquear o encaminhamento de agentes. A exclusão desta linha do arquivo deverá fazer com que o encaminhamento de agentes funcionando mais uma vez.
In this example, our */etc/ssh_config* file specifically says `ForwardAgent no`, which is a way to block agent forwarding. Deleting this line from the file should get agent forwarding working once more.
### Seu servidor deve permitir o encaminhamento do agente SSH em conexões de entrada
### Your server must allow SSH agent forwarding on inbound connections
O encaminhamento de agentes também pode ser bloqueado no seu servidor. Você pode verificar se o encaminhamento do agente é permitido pelo SSHing no servidor e executar `sshd_config`. A saída deste comando deve indicar que `AllowAgentForwarding` foi configurado.
Agent forwarding may also be blocked on your server. You can check that agent forwarding is permitted by SSHing into the server and running `sshd_config`. The output from this command should indicate that `AllowAgentForwarding` is set.
### Seu `ssh-agent` deve estar em execução
### Your local `ssh-agent` must be running
Na maioria dos computadores, o sistema operacional inicia automaticamente `ssh-agent` para você. No entanto, é necessário que isso seja feito manualmente no Windows. Temos [um guia sobre como iniciar `ssh-agent` sempre que você abrir o Git Bash][autolaunch-ssh-agent].
On most computers, the operating system automatically launches `ssh-agent` for you. On Windows, however, you need to do this manually. We have [a guide on how to start `ssh-agent` whenever you open Git Bash][autolaunch-ssh-agent].
Para verificar se `ssh-agent` está em execução no seu computador, digite o seguinte comando no terminal:
To verify that `ssh-agent` is running on your computer, type the following command in the terminal:
```shell
$ echo "$SSH_AUTH_SOCK"
@@ -135,15 +135,15 @@ $ echo "$SSH_AUTH_SOCK"
> /tmp/launch-kNSlgU/Listeners
```
### Sua chave deve estar disponível para `ssh-agent`
### Your key must be available to `ssh-agent`
Você pode verificar se sua chave está visível para `ssh-agent`, executando o seguinte comando:
You can check that your key is visible to `ssh-agent` by running the following command:
```shell
ssh-add -L
```
Se o comando disser que nenhuma identidade está disponível, você deverá adicionar sua chave:
If the command says that no identity is available, you'll need to add your key:
```shell
$ ssh-add <em>yourkey</em>
@@ -151,7 +151,7 @@ $ ssh-add <em>yourkey</em>
{% tip %}
No macOS, `ssh-agent` irá "esquecer" essa chave, assim que ela for reiniciada durante reinicializações. No entanto, você poderá importar suas chaves SSH para o Keychain usando este comando:
On macOS, `ssh-agent` will "forget" this key, once it gets restarted during reboots. But you can import your SSH keys into Keychain using this command:
```shell
$ ssh-add -K <em>yourkey</em>
@@ -161,5 +161,5 @@ $ ssh-add -K <em>yourkey</em>
[tech-tips]: http://www.unixwiz.net/techtips/ssh-agent-forwarding.html
[generating-keys]: /articles/generating-ssh-keys
[generating-keys]: /articles/generating-ssh-keys
[ssh-passphrases]: /ssh-key-passphrases/
[autolaunch-ssh-agent]: /github/authenticating-to-github/working-with-ssh-key-passphrases#auto-launching-ssh-agent-on-git-for-windows

View File

@@ -3,8 +3,8 @@ title: Webhook events and payloads
intro: 'For each webhook event, you can review when the event occurs, an example payload, and descriptions about the payload object parameters.'
product: '{% data reusables.gated-features.enterprise_account_webhooks %}'
redirect_from:
- /early-access/integrations/webhooks/
- /v3/activity/events/types/
- /early-access/integrations/webhooks
- /v3/activity/events/types
- /webhooks/event-payloads
- /developers/webhooks-and-events/webhook-events-and-payloads
versions:
@@ -1197,8 +1197,9 @@ Key | Type | Description
{% ifversion fpt or ghes or ghec %}
## security_advisory
Activity related to a security advisory. A security advisory provides information about security-related vulnerabilities in software on GitHub. The security advisory dataset also powers the GitHub security alerts, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies/)."
{% endif %}
Activity related to a security advisory that has been reviewed by {% data variables.product.company_short %}. A {% data variables.product.company_short %}-reviewed security advisory provides information about security-related vulnerabilities in software on {% data variables.product.prodname_dotcom %}.
The security advisory dataset also powers the GitHub {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies/)."
### Availability
@@ -1215,6 +1216,8 @@ Key | Type | Description
{{ webhookPayloadsForCurrentVersion.security_advisory.published }}
{% endif %}
{% ifversion fpt or ghec %}
## sponsorship

View File

@@ -1,60 +1,60 @@
---
title: Sobre discussões
intro: 'Use discussões para fazer e responder perguntas, compartilhar informações, fazer anúncios e conduzir ou participar de uma conversa sobre um projeto em {% data variables.product.product_name %}.'
title: About discussions
intro: 'Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}.'
versions:
fpt: '*'
ghec: '*'
---
## Sobre o {% data variables.product.prodname_discussions %}
## About {% data variables.product.prodname_discussions %}
Com {% data variables.product.prodname_discussions %}, a comunidade para o seu projeto pode criar e participar de conversas no repositório do projeto. As discussões capacitam os mantenedores, contribuidores e visitantes para reunirem e atingirem os objetivos seguintes em um local central, sem ferramentas de terceiros.
With {% data variables.product.prodname_discussions %}, the community for your project can create and participate in conversations within the project's repository. Discussions empower a project's maintainers, contributors, and visitors to gather and accomplish the following goals in a central location, without third-party tools.
- Compartilhar anúncios e informações, recolher feedback, planejar e tomar decisões
- Faça perguntas, discuta e responda às perguntas, e marque as discussões como respondidas
- Promova uma atmosfera convidativa para visitantes e contribuidores para discutir objetivos, desenvolvimento, administração e fluxos de trabalho
- Share announcements and information, gather feedback, plan, and make decisions
- Ask questions, discuss and answer the questions, and mark the discussions as answered
- Foster an inviting atmosphere for visitors and contributors to discuss goals, development, administration, and workflows
![Aba de discussões para um repositório](/assets/images/help/discussions/hero.png)
![Discussions tab for a repository](/assets/images/help/discussions/hero.png)
Você não precisa fechar uma discussão como você fecha um problema ou um pull request.
You don't need to close a discussion like you close an issue or a pull request.
Se um administrador de repositório ou mantenedor do projeto habilitar {% data variables.product.prodname_discussions %} para um repositório, qualquer pessoa que visitar o repositório poderá criar e participar de discussões do repositório. Os administradores de repositório e mantenedores de projetos podem gerenciar as discussões e categorias de discussão em um repositório e fixar discussões para aumentar a visibilidade da discussão. Os moderadores e colaboradores podem marcar comentários como respostas, travar discussões e converter problemas em discussões. For more information, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)."
If a repository administrator or project maintainer enables {% data variables.product.prodname_discussions %} for a repository, anyone who visits the repository can create and participate in discussions for the repository. Repository administrators and project maintainers can manage discussions and discussion categories in a repository, and pin discussions to increase the visibility of the discussion. Moderators and collaborators can mark comments as answers, lock discussions, and convert issues to discussions. For more information, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)."
Para obter mais informações sobre o gerenciamento de discussões para o repositório, consulte "[Gerenciar discussões no seu repositório](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)".
For more information about management of discussions for your repository, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)."
## Sobre a organização de discussão
## About discussion organization
Você pode organizar discussões com categorias e etiquetas.
You can organize discussions with categories and labels.
{% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %}
Para discussões com um formato de pergunta/resposta, é possível marcar um comentário individual dentro da discussão como a resposta da discussão. {% data reusables.discussions.github-recognizes-members %}
For discussions with a question/answer format, an individual comment within the discussion can be marked as the discussion's answer. {% data reusables.discussions.github-recognizes-members %}
{% data reusables.discussions.about-announcement-format %}
Para obter mais informações, consulte "[Gerenciar categorias para discussões no seu repositório](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)".
For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)."
{% data reusables.discussions.you-can-label-discussions %}
## Práticas recomendadas para {% data variables.product.prodname_discussions %}
## Best practices for {% data variables.product.prodname_discussions %}
Como integrante ou mantenedor da comunidade, inicie uma discussão para fazer uma pergunta ou discutir informações que afetem a comunidade. Para obter mais informações, consulte "[Colaborar com mantenedores usando as discussões](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)".
As a community member or maintainer, start a discussion to ask a question or discuss information that affects the community. For more information, see "[Collaborating with maintainers using discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)."
Participe de uma discussão para fazer e responder a perguntas, fornecer feedback e envolver-se com a comunidade do projeto. Para obter mais informações, consulte "[Participar de uma discussão](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)".
Participate in a discussion to ask and answer questions, provide feedback, and engage with the project's community. For more information, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)."
Você pode destacar discussões que contenham conversas importantes, úteis ou exemplares entre os integrantes da comunidade. Para obter mais informações, consulte "[Gerenciar discussões no seu repositório](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)".
You can spotlight discussions that contain important, useful, or exemplary conversations among members in the community. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)."
{% data reusables.discussions.you-can-convert-an-issue %} Para obter mais informações, consulte "[Moderar discussões no seu repositório](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)".
{% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)."
## Compartilhando feedback
## Sharing feedback
Você pode compartilhar seus comentários sobre {% data variables.product.prodname_discussions %} com {% data variables.product.company_short %}. Para se juntar à conversa, consulte [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22).
You can share your feedback about {% data variables.product.prodname_discussions %} with {% data variables.product.company_short %}. To join the conversation, see [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22).
## Leia mais
## Further reading
- "[Sobre escrita e formatação em {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)"
- "[Pesquisar discussões](/search-github/searching-on-github/searching-discussions)"
- "[Sobre notificações](/github/managing-subscriptions-and-notifications-on-github/about-notifications)"
- "[Moderar comentários e conversas](/communities/moderating-comments-and-conversations)"
- "[Mantendo sua segurança no {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)"
- "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)"
- "[Searching discussions](/search-github/searching-on-github/searching-discussions)"
- "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)"
- "[Moderating comments and conversations](/communities/moderating-comments-and-conversations)"
- "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)"

View File

@@ -37,6 +37,7 @@ featuredLinks:
- /github/getting-started-with-github/signing-up-for-a-new-github-account
- /get-started/quickstart/hello-world
- /github/getting-started-with-github/set-up-git
- /get-started/learning-about-github/about-versions-of-github-docs
- /github/getting-started-with-github/github-glossary
- /github/getting-started-with-github/fork-a-repo
- /github/getting-started-with-github/keyboard-shortcuts

View File

@@ -0,0 +1,56 @@
---
title: About versions of GitHub Docs
intro: "You can read documentation that reflects the {% data variables.product.company_short %} product you're currently using."
versions: '*'
shortTitle: Docs versions
---
## About versions of {% data variables.product.prodname_docs %}
{% data variables.product.company_short %} offers different products for storing and collaborating on code. The product you use determines which features are available to you. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products)."
This website, {% data variables.product.prodname_docs %}, provides documentation for all of {% data variables.product.company_short %}'s products. If the content you're reading applies to more than one product, you can choose the version of the documentation that's relevant to you by selecting the product you're currently using.
At the top of a page on {% data variables.product.prodname_docs %}, select the dropdown menu and click a product. If your browser window is not wide enough to display the full navigation bar, you may need to click {% octicon "three-bars" aria-label="The three bars icon" %} first.
![Screenshot of the dropdown menu for picking a version of {% data variables.product.prodname_docs %} to view](/assets/images/help/docs/version-picker.png)
{% note %}
**Note**: You can try changing the version now. You're viewing {% ifversion ghes %}a{% else %}the{% endif %} {% ifversion fpt %}Free, Pro, & Team{% else %}{% data variables.product.product_name %}{% endif %} version of this article.
{% endnote %}
## Determining which {% data variables.product.company_short %} product you use
You can determine which {% data variables.product.company_short %} product you're currently using by reviewing the URL in the address bar of your browser and the heading for the {% data variables.product.prodname_dotcom %} website you're on.
You may use more than one {% data variables.product.company_short %} product. For example, you might contribute to open source on {% data variables.product.prodname_dotcom_the_website %} and collaborate on code on your employer's {% data variables.product.prodname_ghe_server %} instance. You may need to view different versions of the same article at different times, depending on the problem you're currently trying to solve.
### {% data variables.product.prodname_dotcom_the_website %} plans or {% data variables.product.prodname_ghe_cloud %}
If you access {% data variables.product.prodname_dotcom %} at https://github.com, you're either using the features of a Free, Pro, or Team plan, or you're using {% data variables.product.prodname_ghe_cloud %}.
In a wide browser window, there is no text that immediately follows the {% data variables.product.company_short %} logo on the left side of the header.
![Screenshot of the address bar and the {% data variables.product.prodname_dotcom_the_website %} header in a browser](/assets/images/help/docs/header-dotcom.png)
On {% data variables.product.prodname_dotcom_the_website %}, each account has its own plan. Each personal account has an associated plan that provides access to certain features, and each organization has a different associated plan. If your personal account is a member of an organization on {% data variables.product.prodname_dotcom_the_website %}, you may have access to different features when you use resources owned by that organization than when you use resources owned by your personal account. For more information, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/get-started/learning-about-github/types-of-github-accounts)."
If you don't know whether an organization uses {% data variables.product.prodname_ghe_cloud %}, ask an organization owner. For more information, see "[Viewing people's roles in an organization](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization)."
### {% data variables.product.prodname_ghe_server %}
If you access {% data variables.product.prodname_dotcom %} at a URL other than https://github.com, `https://*.githubenterprise.com`, `https://*.github.us`, or `https://*.ghe.com`, you're using {% data variables.product.prodname_ghe_server %}. For example, you may access {% data variables.product.prodname_ghe_server %} at `https://github.YOUR-COMPANY-NAME.com`. Your administrators may choose a URL that doesn't include the word "{% data variables.product.company_short %}."
In a wide browser window, the word "Enterprise" immediately follows the {% data variables.product.company_short %} logo on the left side of the header.
![Screenshot of address bar and {% data variables.product.prodname_ghe_server %} header in a browser](/assets/images/help/docs/header-ghes.png)
### {% data variables.product.prodname_ghe_managed %}
If you access {% data variables.product.prodname_dotcom %} at `https://*.githubenterprise.com`, `https://*.github.us`, or `https://*.ghe.com`, you're using {% data variables.product.prodname_ghe_managed %}.
In a wide browser window, the words "{% data variables.product.prodname_ghe_managed %}" immediately follow the {% data variables.product.company_short %} logo in the header.
![Address bar and {% data variables.product.prodname_ghe_managed %} header in a browser](/assets/images/help/docs/header-ghae.png)

View File

@@ -24,6 +24,8 @@ topics:
You can see pricing and a full list of features for each product at <{% data variables.product.pricing_url %}>. {% data reusables.products.product-roadmap %}
When you read {% data variables.product.prodname_docs %}, make sure to select the version that reflects your product. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)."
## {% data variables.product.prodname_free_user %} for user accounts
With {% data variables.product.prodname_free_team %} for user accounts, you can work with unlimited collaborators on unlimited public repositories with a full feature set, and on unlimited private repositories with a limited feature set.

View File

@@ -17,10 +17,11 @@ topics:
- Security
children:
- /githubs-products
- /about-versions-of-github-docs
- /github-language-support
- /about-github-advanced-security
- /types-of-github-accounts
- /access-permissions-on-github
- /about-github-advanced-security
- /faq-about-changes-to-githubs-plans
---

View File

@@ -73,8 +73,11 @@ For more information on enabling and configuring {% data variables.product.prodn
## Part 5: Using {% data variables.product.prodname_dotcom %}'s learning and support resources
Your enterprise members can learn more about Git and {% data variables.product.prodname_dotcom %} with our learning resources, and you can get the support you need with {% data variables.product.prodname_dotcom %} Enterprise Support.
### 1. Learning with {% data variables.product.prodname_learning %}
### 1. Reading about {% data variables.product.product_name %} on {% data variables.product.prodname_docs %}
You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_managed %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)."
### 2. Learning with {% data variables.product.prodname_learning %}
{% data reusables.getting-started.learning-lab-enterprise %}
### 2. Working with {% data variables.product.prodname_dotcom %} Enterprise Support
### 3. Working with {% data variables.product.prodname_dotcom %} Enterprise Support
{% data reusables.getting-started.contact-support-enterprise %}

View File

@@ -199,14 +199,18 @@ Members of your organization or enterprise can use tools from the {% data variab
## Part 7: Participating in {% data variables.product.prodname_dotcom %}'s community
Members of your organization or enterprise can use GitHub's learning and support resources to get the help they need. You can also support the open source community.
### 1. Learning with {% data variables.product.prodname_learning %}
### 1. Reading about {% data variables.product.prodname_ghe_cloud %} on {% data variables.product.prodname_docs %}
You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)."
### 2. Learning with {% data variables.product.prodname_learning %}
Members of your organization or enterprise can learn new skills by completing fun, realistic projects in your very own GitHub repository with [{% data variables.product.prodname_learning %}](https://lab.github.com/). Each course is a hands-on lesson created by the GitHub community and taught by the friendly Learning Lab bot.
For more information, see "[Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/quickstart/git-and-github-learning-resources)."
### 2. Supporting the open source community
### 3. Supporting the open source community
{% data reusables.getting-started.sponsors %}
### 3. Contacting {% data variables.contact.github_support %}
### 4. Contacting {% data variables.contact.github_support %}
{% data reusables.getting-started.contact-support %}
{% data variables.product.prodname_ghe_cloud %} allows you to submit priority support requests with a target eight-hour response time. For more information, see "[{% data variables.product.prodname_ghe_cloud %} support](/github/working-with-github-support/github-enterprise-cloud-support)."

View File

@@ -114,7 +114,13 @@ If you are the owner of both a {% data variables.product.product_name %} instanc
## Part 6: Using {% data variables.product.prodname_dotcom %}'s learning and support resources
Your enterprise members can learn more about Git and {% data variables.product.prodname_dotcom %} with our learning resources, and you can get the support you need when setting up and managing {% data variables.product.product_location %} with {% data variables.product.prodname_dotcom %} Enterprise Support.
### 1. Learning with {% data variables.product.prodname_learning %}
### 1. Reading about {% data variables.product.product_name %} on {% data variables.product.prodname_docs %}
You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_server %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)."
### 2. Learning with {% data variables.product.prodname_learning %}
{% data reusables.getting-started.learning-lab-enterprise %}
### 2. Working with {% data variables.product.prodname_dotcom %} Enterprise Support
### 3. Working with {% data variables.product.prodname_dotcom %} Enterprise Support
{% data reusables.getting-started.contact-support-enterprise %}

View File

@@ -83,13 +83,16 @@ You can help to make your organization more secure by recommending or requiring
### 2. Interacting with the {% data variables.product.prodname_gcf %}
{% data reusables.support.ask-and-answer-forum %}
### 3. Learning with {% data variables.product.prodname_learning %}
### 3. Reading about {% data variables.product.prodname_team %} on {% data variables.product.prodname_docs %}
You can read documentation that reflects the features available with {% data variables.product.prodname_team %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)."
### 4. Learning with {% data variables.product.prodname_learning %}
{% data reusables.getting-started.learning-lab %}
### 4. Supporting the open source community
### 5. Supporting the open source community
{% data reusables.getting-started.sponsors %}
### 5. Contacting {% data variables.contact.github_support %}
### 6. Contacting {% data variables.contact.github_support %}
{% data reusables.getting-started.contact-support %}
## Further reading

Some files were not shown because too many files have changed in this diff Show More