diff --git a/assets/images/help/security/security-advisories-suggest-improvement-reason.png b/assets/images/help/security/security-advisories-suggest-improvement-reason.png new file mode 100644 index 0000000000..1d8857c46d Binary files /dev/null and b/assets/images/help/security/security-advisories-suggest-improvement-reason.png differ diff --git a/components/ClientSideRefresh.tsx b/components/ClientSideRefresh.tsx index 656aec9218..88699e48a2 100644 --- a/components/ClientSideRefresh.tsx +++ b/components/ClientSideRefresh.tsx @@ -11,7 +11,7 @@ export default function ClientSideRefresh() { useSWR( router.asPath, () => { - router.replace(router.asPath) + router.replace(router.asPath, undefined, { scroll: false }) }, { // Implied here is that `revalidateOnFocus: true` which the default diff --git a/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index d2bf29f6ab..8aa0aa6a7f 100644 --- a/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -256,7 +256,7 @@ To customize these claim formats, organization and repository admins can use the By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. -Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://api.github.com/enterprises//actions/oidc/customization/issuer`. Replace `` with the slug value of your enterprise. +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://token.actions.githubusercontent.com/`. Replace `` with the slug value of your enterprise. This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. @@ -270,7 +270,7 @@ After this setting is applied, the JWT will contain the updated `iss` value. In "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" "aud": "http://octocat-inc.example/octocat-inc" "enterprise": "octocat-inc" - "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "iss": "https://token.actions.githubusercontent.com/octocat-inc", "bf": 1755350653, "exp": 1755351553, "iat": 1755351253 diff --git a/content/actions/using-github-hosted-runners/using-larger-runners.md b/content/actions/using-github-hosted-runners/using-larger-runners.md index c926299df0..17fb1a7a0f 100644 --- a/content/actions/using-github-hosted-runners/using-larger-runners.md +++ b/content/actions/using-github-hosted-runners/using-larger-runners.md @@ -36,7 +36,7 @@ During the runner deployment process, you can configure the _Max_ option, which ## Networking for {% data variables.actions.hosted_runner %}s -By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s. +By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. {% ifversion fpt %}You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s{% endif %}{% ifversion ghec %}You can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the enterprise level. In addition, you can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the organization level, for each organization in your enterprise{% endif %}. {% note %} diff --git a/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md b/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md index 600e21ec9b..1df683d98c 100644 --- a/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md +++ b/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md @@ -27,12 +27,18 @@ Only repository owners and administrators can edit repository-level security adv ## Editing advisories in the GitHub Advisory Database 1. Navigate to https://github.com/advisories. -2. Select the security advisory you would like to contribute to. -3. On the right-hand side of the page, click the **Suggest improvements for this vulnerability** link. - ![Suggest improvements link](/assets/images/help/security/suggest-improvements-to-advisory.png) -4. In the contribution form, make the desired improvements. You can edit or add any detail. -5. When you finish editing the advisory, click **Submit improvements**. -6. Once you submit your improvements, a pull request containing your changes will be created for review in [github/advisory-database](https://github.com/github/advisory-database) by the {% data variables.product.prodname_security %} curation team. If the advisory originated from a {% data variables.product.prodname_dotcom %} repository, we will also tag the original publisher for optional commentary. You can view the pull request and get notifications when it is updated or closed. +1. Select the security advisory you would like to contribute to. +1. On the right-hand side of the page, click the **Suggest improvements for this vulnerability** link. + + ![Screenshot of the suggest improvements link](/assets/images/help/security/suggest-improvements-to-advisory.png) + +1. In the contribution form, make the desired improvements. You can edit or add any detail.{% ifversion security-advisories-reason-for-change %} +1. Under **Reason for change**, explain why you want to make this improvement. If you include links to supporting material this will help our reviewers. + + ![Screenshot of the reason for change field](/assets/images/help/security/security-advisories-suggest-improvement-reason.png){% endif %} + +1. When you finish editing the advisory, click **Submit improvements**. +1. Once you submit your improvements, a pull request containing your changes will be created for review in [github/advisory-database](https://github.com/github/advisory-database) by the {% data variables.product.prodname_security %} curation team. If the advisory originated from a {% data variables.product.prodname_dotcom %} repository, we will also tag the original publisher for optional commentary. You can view the pull request and get notifications when it is updated or closed. You can also open a pull request directly on an advisory file in the [github/advisory-database](https://github.com/github/advisory-database) repository. For more information, see the [contribution guidelines](https://github.com/github/advisory-database/blob/main/CONTRIBUTING.md). diff --git a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md index 00adb83600..7fb59cd7b0 100644 --- a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md +++ b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md @@ -37,7 +37,7 @@ We'll run all of the cells, in sequence, to perform all phases of building the i ### Open the image classifier notebook -The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, TensorFlow, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/codespaces#github-codespaces-default-linux-universal). +The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, TensorFlow, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). 1. In the {% data variables.product.prodname_vscode_shortname %} editor, close any "Get Started" tabs that are displayed. 1. Open the `image-classifier.ipynb` notebook file. diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md index b1301c8f7f..559f6c8e9a 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md @@ -21,7 +21,7 @@ Adding an "Open in {% data variables.product.prodname_github_codespaces %}" badg When you create a badge you can choose specific configuration options for the codespace that the badge will create. -When people click the badge they'll be taken to the advanced options page for codespace creation, with the options you chose preselected. For more information about the advanced options page, see "[Creating a codespace](https://docs-internal-30445-bfc9ce.preview.ghdocs.com/en/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)." +When people click the badge they'll be taken to the advanced options page for codespace creation, with the options you chose preselected. For more information about the advanced options page, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)." From the advanced options page, users can change the preselected settings if required, then click **Create codespace**. diff --git a/content/index.md b/content/index.md index 73055c6ab3..483ef9a756 100644 --- a/content/index.md +++ b/content/index.md @@ -86,7 +86,7 @@ childGroups: - issues - search-github - name: Developers - octicon: MarkGithubIcon + octicon: CodeSquareIcon children: - developers - rest diff --git a/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md b/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md index 3502718aa5..5bb88d1be3 100644 --- a/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md +++ b/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md @@ -1,7 +1,7 @@ --- title: 'Viewing insights from your {% data variables.projects.project_v2 %}' shortTitle: 'Viewing insights' -intro: '...' +intro: 'You can use insights to visualize your projects by creating and sharing charts built from your project''s data.' versions: feature: "projects-v2" topics: @@ -13,4 +13,4 @@ children: - /creating-charts - /configuring-charts allowTitleToDifferFromFilename: true ---- +--- \ No newline at end of file diff --git a/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md b/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md index 881c4b1c19..ca86371e9b 100644 --- a/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md +++ b/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md @@ -67,7 +67,7 @@ If you decide you don't want the changes in a topic branch to be merged to the u {% note %} - **Note:** The email selector is not available for rebase merges, which do not create a merge commit, or for squash merges, which credit the user who created the pull request as the author of the squashed commit. + **Note:** The email selector is not available for rebase merges, which do not create a merge commit{% ifversion squash-merge-email %}. For squash merges, the email selector is only shown if you are the pull request author and you have more than one email address associated with your account.{% else %}, or for squash merges, which credit the user who created the pull request as the author of the squashed commit.{% endif %} {% endnote %} diff --git a/data/features/security-advisories-reason-for-change.yml b/data/features/security-advisories-reason-for-change.yml new file mode 100644 index 0000000000..615c580f3f --- /dev/null +++ b/data/features/security-advisories-reason-for-change.yml @@ -0,0 +1,7 @@ +# Reference: #7792 +# Documentation for incremental improvements to community contributions +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.8' + ghae: 'issue-7792' diff --git a/data/features/squash-merge-email.yml b/data/features/squash-merge-email.yml new file mode 100644 index 0000000000..3019077eb5 --- /dev/null +++ b/data/features/squash-merge-email.yml @@ -0,0 +1,7 @@ +# Reference: #7932 +# Show/choose commit author email address when squash merging a pull request +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.8' + ghae: 'issue-7932' diff --git a/lib/search/indexes/github-docs-3.2-cn-records.json.br b/lib/search/indexes/github-docs-3.2-cn-records.json.br index 9d8933c083..fb403440fd 100644 --- a/lib/search/indexes/github-docs-3.2-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.2-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8d9fc7734cc783275eefe9ba8c5d6f53662edab595fed279a186ad83ca3056e -size 797100 +oid sha256:0d457104abf8c68146f8587a864971660d6449da5ec680eb2d6d889c6349a9f3 +size 790223 diff --git a/lib/search/indexes/github-docs-3.2-cn.json.br b/lib/search/indexes/github-docs-3.2-cn.json.br index 921992a4d5..ddfe4595bd 100644 --- a/lib/search/indexes/github-docs-3.2-cn.json.br +++ b/lib/search/indexes/github-docs-3.2-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e67fed63733a589a5bc87fd7965ccb89734cfef0d3e35f873ec75388d8d1b1f -size 1378077 +oid sha256:0caed8301057e4c22160b52febec4522ba643ce66873f0f2fd3fb1a1f4d0d0d1 +size 1414557 diff --git a/lib/search/indexes/github-docs-3.2-en-records.json.br b/lib/search/indexes/github-docs-3.2-en-records.json.br index a7526a38ab..9d5bb9d595 100644 --- a/lib/search/indexes/github-docs-3.2-en-records.json.br +++ b/lib/search/indexes/github-docs-3.2-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ceb4cf672dc070066d42336a39cae610dc6b4ac14c810aa047b0304b012c3995 -size 1098241 +oid sha256:34bf512cc8850b046853b7ad6ed8d18699de52ec513a8270c4dfd7f84ddc32d0 +size 1098941 diff --git a/lib/search/indexes/github-docs-3.2-en.json.br b/lib/search/indexes/github-docs-3.2-en.json.br index 068dcd0914..6f3fea4f32 100644 --- a/lib/search/indexes/github-docs-3.2-en.json.br +++ b/lib/search/indexes/github-docs-3.2-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab744118985ebd782bcf39fcf3599c4c4cda6b6cb3fb0daed0e20429c0a95419 -size 4453207 +oid sha256:6455c09cbd64ae32ed6bacb4c9da4db2642762e8d2acd9a18bae9f45f26554d8 +size 4453154 diff --git a/lib/search/indexes/github-docs-3.2-es-records.json.br b/lib/search/indexes/github-docs-3.2-es-records.json.br index 356ab6add3..2190b56f64 100644 --- a/lib/search/indexes/github-docs-3.2-es-records.json.br +++ b/lib/search/indexes/github-docs-3.2-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed8a337390dd2063e3d5fa8804d07be6589bb46ea1f41a9d6cec335b341b2aac -size 728033 +oid sha256:9c40468a093fd62c7dc87bbef16ac9efd506e8260e5ce84ef148123cac26011e +size 731845 diff --git a/lib/search/indexes/github-docs-3.2-es.json.br b/lib/search/indexes/github-docs-3.2-es.json.br index 68bd42ca16..2a1b88b628 100644 --- a/lib/search/indexes/github-docs-3.2-es.json.br +++ b/lib/search/indexes/github-docs-3.2-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82a29ef009c8f0581c2bffe6b3b395da3ec668a88284b1e37e982963275724c6 -size 2945781 +oid sha256:31e37b11fdb49247db7e269a7103db2711f7a0fdbd13e26d7058418ee2daf3d4 +size 2976487 diff --git a/lib/search/indexes/github-docs-3.2-ja-records.json.br b/lib/search/indexes/github-docs-3.2-ja-records.json.br index 5e1ac0d05d..4c637ad75f 100644 --- a/lib/search/indexes/github-docs-3.2-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.2-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d04a03a6395c65da02df580c75530a3712c888b3e7323d9d9018278a798ba6a1 -size 839065 +oid sha256:b3d3d0a9772b34b573ff6542e542594ac5fdb19b79eda68d2868b7649fa5fe68 +size 835619 diff --git a/lib/search/indexes/github-docs-3.2-ja.json.br b/lib/search/indexes/github-docs-3.2-ja.json.br index cd34442feb..317ac083d2 100644 --- a/lib/search/indexes/github-docs-3.2-ja.json.br +++ b/lib/search/indexes/github-docs-3.2-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d31f5d61a8b55b1ad3360b1738aee380c0f742eb7a19797caa81164ada745cee -size 4373171 +oid sha256:212519cd4dacbfce9dcf89632457eb3ddeac2015008cdc872e3d9b00f340d040 +size 4369355 diff --git a/lib/search/indexes/github-docs-3.2-pt-records.json.br b/lib/search/indexes/github-docs-3.2-pt-records.json.br index b28da9af2c..9a151a4438 100644 --- a/lib/search/indexes/github-docs-3.2-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.2-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c3dee47af82a17d4fd6410641e9aefcff899f89d2552dfc280bd9f7bfa6436d -size 718234 +oid sha256:0270a11c7d3706b973d7ed2ffe9564c4f9d09e6ea5d784b3b0057f00db5853b2 +size 720030 diff --git a/lib/search/indexes/github-docs-3.2-pt.json.br b/lib/search/indexes/github-docs-3.2-pt.json.br index 02be9fd463..b06e0a1f03 100644 --- a/lib/search/indexes/github-docs-3.2-pt.json.br +++ b/lib/search/indexes/github-docs-3.2-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:998d79c68c73f26d651604f3488e04c8cd67cc7aad1ab6981e13ab33f7c9147a -size 2959094 +oid sha256:b99957356bee9793134f7d8b3c536965490cabc18c54402fcfc64f9f4fda20c9 +size 2976786 diff --git a/lib/search/indexes/github-docs-3.3-cn-records.json.br b/lib/search/indexes/github-docs-3.3-cn-records.json.br index ad687c15c5..b00e21805e 100644 --- a/lib/search/indexes/github-docs-3.3-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.3-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be770134e76cf84ac2a8c46aaab0236c56e8aa1461125cb9d53a6975e51cde91 -size 823060 +oid sha256:858029023c737c29b090636b0d06471832fd001f93118415a050a93bc3712e14 +size 816616 diff --git a/lib/search/indexes/github-docs-3.3-cn.json.br b/lib/search/indexes/github-docs-3.3-cn.json.br index e028359b89..f92c528ea8 100644 --- a/lib/search/indexes/github-docs-3.3-cn.json.br +++ b/lib/search/indexes/github-docs-3.3-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa39626a31366c0a19e317d3db4f3ae55f9af87edc5e0d27265bafdfe46ff4d5 -size 1417811 +oid sha256:70fd77e1d9e02b2b63c18769094271f6de98590a5d5873e06d8a84d34b1abb0c +size 1456638 diff --git a/lib/search/indexes/github-docs-3.3-en-records.json.br b/lib/search/indexes/github-docs-3.3-en-records.json.br index 68d5b9ca97..535273ec55 100644 --- a/lib/search/indexes/github-docs-3.3-en-records.json.br +++ b/lib/search/indexes/github-docs-3.3-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:235017fcac2b8a68a950dc4b3ff87d6f21e73273c7bd1b9a6288e2eb13a1c602 -size 1134290 +oid sha256:0d1d15a7282de30a0eaa386d5dfdb3209402253f37223fee7669b357db2fe695 +size 1134320 diff --git a/lib/search/indexes/github-docs-3.3-en.json.br b/lib/search/indexes/github-docs-3.3-en.json.br index eff7753caf..108de180b1 100644 --- a/lib/search/indexes/github-docs-3.3-en.json.br +++ b/lib/search/indexes/github-docs-3.3-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28f9bb3aa6d60050a4bb6c3422096cbe153190a3147a17afc9e03c2bb60eb038 -size 4554055 +oid sha256:5bbeddfea0eba4243e86a6291091ef5fcb64e9c1e2412a9aad8fb337aa6a6e52 +size 4554522 diff --git a/lib/search/indexes/github-docs-3.3-es-records.json.br b/lib/search/indexes/github-docs-3.3-es-records.json.br index 39a4f65d44..8a03cbf944 100644 --- a/lib/search/indexes/github-docs-3.3-es-records.json.br +++ b/lib/search/indexes/github-docs-3.3-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b81715a8b77ccd38ef6c0f0378505d2bab61405c9a88882d595761fa89c8495a -size 749412 +oid sha256:2c926b1d9c41f58d8851c0cde6d4ff86fd6033bb1ccb582febfe32f4bcd00865 +size 753221 diff --git a/lib/search/indexes/github-docs-3.3-es.json.br b/lib/search/indexes/github-docs-3.3-es.json.br index 6ab7288041..3993924634 100644 --- a/lib/search/indexes/github-docs-3.3-es.json.br +++ b/lib/search/indexes/github-docs-3.3-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30e8a358781a8b869402f607fc6d8930a51fbac2ecf551d419b3302eedffcf23 -size 3030527 +oid sha256:0250e01126c0339be258ce051d6a9ff818afe5a1a2a7ff289321cf835d4318f8 +size 3062402 diff --git a/lib/search/indexes/github-docs-3.3-ja-records.json.br b/lib/search/indexes/github-docs-3.3-ja-records.json.br index f2b097ad43..07c4ef01b6 100644 --- a/lib/search/indexes/github-docs-3.3-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.3-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:199ef875c0207a3da91d5206bf6aa83ee6c1d2a25fc9c8700b2034d465d45422 -size 865335 +oid sha256:6ad8ba9905ac680afa6da0d212807fd272c1c63a5b87904788c8e13775c84f7a +size 862182 diff --git a/lib/search/indexes/github-docs-3.3-ja.json.br b/lib/search/indexes/github-docs-3.3-ja.json.br index 774a13cdaf..304ead6e2e 100644 --- a/lib/search/indexes/github-docs-3.3-ja.json.br +++ b/lib/search/indexes/github-docs-3.3-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3132734c726d74cadb4b7232f2f6d6966318081c02b6cbc509f851af4f4733a -size 4507955 +oid sha256:6a56a5707399b44b4716ec93adc177cb7f7d340a397225eecbea885db9014ccd +size 4504295 diff --git a/lib/search/indexes/github-docs-3.3-pt-records.json.br b/lib/search/indexes/github-docs-3.3-pt-records.json.br index dfe019afde..30f97794ed 100644 --- a/lib/search/indexes/github-docs-3.3-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.3-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a903e0fe16a78961270a25e6530ab7407042fb0bb0bf3dc4583b1d9a6113f591 -size 739273 +oid sha256:f0291d53e3cf0ca800632c41e34107430a3b5e95946b5a025e2a350fa52d7b98 +size 741484 diff --git a/lib/search/indexes/github-docs-3.3-pt.json.br b/lib/search/indexes/github-docs-3.3-pt.json.br index a7f9913bc9..da26ce517c 100644 --- a/lib/search/indexes/github-docs-3.3-pt.json.br +++ b/lib/search/indexes/github-docs-3.3-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8371b312a4af38c84460b9ceece7dda98cbdece6d4b40c5d684d5b1963806c5 -size 3042401 +oid sha256:65faf70156d312d3c55da14a264143c1835743081d06149e5c51f1a9acfd3e3d +size 3063236 diff --git a/lib/search/indexes/github-docs-3.4-cn-records.json.br b/lib/search/indexes/github-docs-3.4-cn-records.json.br index 10e1aadbac..f8a5867983 100644 --- a/lib/search/indexes/github-docs-3.4-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.4-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee3ceff7b2498ea9f0ce11b06c2f163d97bee3923dadaad692287d0ea0f37eb8 -size 825140 +oid sha256:075e7d4d42b491620e20744465d124e6b05c4130a827ce770a673bae598adacc +size 818583 diff --git a/lib/search/indexes/github-docs-3.4-cn.json.br b/lib/search/indexes/github-docs-3.4-cn.json.br index 058535e40d..d87d0635e2 100644 --- a/lib/search/indexes/github-docs-3.4-cn.json.br +++ b/lib/search/indexes/github-docs-3.4-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e7368cd9e3d52c03d2a361e3c4e701ca1da6ff360f91c1312a09d5f2ea1e1a6 -size 1426545 +oid sha256:6203c6471eed9dd52df4df41dc8c365632695bb79b8b7289440e28f7dd4e8676 +size 1466813 diff --git a/lib/search/indexes/github-docs-3.4-en-records.json.br b/lib/search/indexes/github-docs-3.4-en-records.json.br index 711910f655..d91af5cd55 100644 --- a/lib/search/indexes/github-docs-3.4-en-records.json.br +++ b/lib/search/indexes/github-docs-3.4-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4374c4ee18ef3cfc8e77abd6a55b7f0c52cd5d3798b38a0763b606c024928098 -size 1145287 +oid sha256:71022c68adc2b1bacb9952faedf7f01336083513ff400e7672a6b317db38aca3 +size 1145759 diff --git a/lib/search/indexes/github-docs-3.4-en.json.br b/lib/search/indexes/github-docs-3.4-en.json.br index e0b6dedbf7..a4e1637dc5 100644 --- a/lib/search/indexes/github-docs-3.4-en.json.br +++ b/lib/search/indexes/github-docs-3.4-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:123b0bf5cfdff1f37c8822c0b7d3a0f91228b48e17279b4139d1e6ced2cdb9a5 -size 4615113 +oid sha256:159c606bdfd220aba6fd3e93105a3b7944aa2a12fda0cc1c162264daed924ee3 +size 4616066 diff --git a/lib/search/indexes/github-docs-3.4-es-records.json.br b/lib/search/indexes/github-docs-3.4-es-records.json.br index 611f406e99..888b4a22f1 100644 --- a/lib/search/indexes/github-docs-3.4-es-records.json.br +++ b/lib/search/indexes/github-docs-3.4-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c69c4304a2cd85ab317020ffb9d6f0f33a3444942986c1bed9550e1bdbbf5d4 -size 753864 +oid sha256:1d69e098a5a6f1ae0f0c4f516bb6c6f19eee375d4305485d9d5f5880d8596296 +size 757820 diff --git a/lib/search/indexes/github-docs-3.4-es.json.br b/lib/search/indexes/github-docs-3.4-es.json.br index 8e5598f8ac..ff4fb3f0d5 100644 --- a/lib/search/indexes/github-docs-3.4-es.json.br +++ b/lib/search/indexes/github-docs-3.4-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28b0b9bda86ca9641b5f019903410699b97bb11478b55c17bb2ce1b1432abf17 -size 3055430 +oid sha256:639bb5b08351583780c3ae154eb877cd0c66382268fe1b1bfc0b2685f51845a0 +size 3087789 diff --git a/lib/search/indexes/github-docs-3.4-ja-records.json.br b/lib/search/indexes/github-docs-3.4-ja-records.json.br index 3dbbddc982..4c0d95252c 100644 --- a/lib/search/indexes/github-docs-3.4-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.4-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de8a56e188c58f365d415da87914f3639e43ee33365400978beeb0bafe5ff384 -size 868850 +oid sha256:28350a6560b061e9599e87bf90752edb26eae9f72398e59da416fc4dd800a9c3 +size 865719 diff --git a/lib/search/indexes/github-docs-3.4-ja.json.br b/lib/search/indexes/github-docs-3.4-ja.json.br index 04b7078968..919f14d538 100644 --- a/lib/search/indexes/github-docs-3.4-ja.json.br +++ b/lib/search/indexes/github-docs-3.4-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e020eed3f4112332175fc58b04932a21738601e9e47fdee97c21e60085fba7fe -size 4538948 +oid sha256:4936583bfa3fdc4f7ec82b8affb7d42e00c05e9a1812439e20f14ee0f024e70d +size 4536285 diff --git a/lib/search/indexes/github-docs-3.4-pt-records.json.br b/lib/search/indexes/github-docs-3.4-pt-records.json.br index d04a22e456..33a3dd4c60 100644 --- a/lib/search/indexes/github-docs-3.4-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.4-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07447e9dd4546ce0edbe765bfc651b4b457ab3a6919b340615d84f451a150339 -size 743499 +oid sha256:dd32b869a14eae4238c4f6535fcc67831b56392139ccd17f0cb78c1df075e033 +size 745948 diff --git a/lib/search/indexes/github-docs-3.4-pt.json.br b/lib/search/indexes/github-docs-3.4-pt.json.br index 82ac89b407..40cf63c9f2 100644 --- a/lib/search/indexes/github-docs-3.4-pt.json.br +++ b/lib/search/indexes/github-docs-3.4-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afa5b0b3243ea3b4cf09205b7677f5e66bf39ef8377511a7ced8d722bbfd5b16 -size 3067293 +oid sha256:9f36f35f0b8099c1d00b744bd246ea536eb4323d785f602121b30c6595bd23ee +size 3088205 diff --git a/lib/search/indexes/github-docs-3.5-cn-records.json.br b/lib/search/indexes/github-docs-3.5-cn-records.json.br index 50144e1ada..a1833d63f3 100644 --- a/lib/search/indexes/github-docs-3.5-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.5-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81885a6c957ec69de5c8e077e2117e5f46811f7abf449d25ecebedeb9e1e1fd5 -size 856531 +oid sha256:95524184b95c0fffa01b3e83b634b82b4686eee10aaeebc9116533bb367dfbeb +size 850394 diff --git a/lib/search/indexes/github-docs-3.5-cn.json.br b/lib/search/indexes/github-docs-3.5-cn.json.br index 8b8d6ddf00..16d057588f 100644 --- a/lib/search/indexes/github-docs-3.5-cn.json.br +++ b/lib/search/indexes/github-docs-3.5-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f527b43577e592ee981de07be9c358a1bb0b35b771c9aebdc1d09da84f2f9d2 -size 1484256 +oid sha256:83b93c3f971dec68c83c2bfb81a6e5cdd08406fed4d6978ac502577f4e458e00 +size 1525861 diff --git a/lib/search/indexes/github-docs-3.5-en-records.json.br b/lib/search/indexes/github-docs-3.5-en-records.json.br index 6817c66572..4d033ff657 100644 --- a/lib/search/indexes/github-docs-3.5-en-records.json.br +++ b/lib/search/indexes/github-docs-3.5-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a63b078b112db49abe947039f9c1587695c93481624296d7f305d3445ab4fb2f -size 1185254 +oid sha256:62f0df72602764a60c3a84b092f654184bdf0b20d19b862cfa6253d9015a174b +size 1186264 diff --git a/lib/search/indexes/github-docs-3.5-en.json.br b/lib/search/indexes/github-docs-3.5-en.json.br index ee1d413ea5..3123e91fbe 100644 --- a/lib/search/indexes/github-docs-3.5-en.json.br +++ b/lib/search/indexes/github-docs-3.5-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf4122a04e0252ea69a36f1542561f271cc77bf9d6ebd5838efbc19a989763e8 -size 4781803 +oid sha256:019035350c29da930cbce4a948da52683e7af8208c00587c7c685414b342417f +size 4782243 diff --git a/lib/search/indexes/github-docs-3.5-es-records.json.br b/lib/search/indexes/github-docs-3.5-es-records.json.br index b76c35516c..162d79c511 100644 --- a/lib/search/indexes/github-docs-3.5-es-records.json.br +++ b/lib/search/indexes/github-docs-3.5-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8121bfa6c4cb49265c1d303e8bc2f2716368323b160aacfa9bf8e6bf85399d73 -size 777945 +oid sha256:5896160046d11f4df6eb7e2887b1c7a82617458ec8520cdb88c6dab23cd0156a +size 782508 diff --git a/lib/search/indexes/github-docs-3.5-es.json.br b/lib/search/indexes/github-docs-3.5-es.json.br index 623bdcfc47..31368f917a 100644 --- a/lib/search/indexes/github-docs-3.5-es.json.br +++ b/lib/search/indexes/github-docs-3.5-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96834fe3a2566294a983346aaf5089e4d95f5a8e91cfd78d2cffced8b14ddde4 -size 3161924 +oid sha256:64595066b32014bc6225004e02f129d3fe7bd87d2ae3ce6d5cbccd43e951c455 +size 3197085 diff --git a/lib/search/indexes/github-docs-3.5-ja-records.json.br b/lib/search/indexes/github-docs-3.5-ja-records.json.br index dc35466f79..060adc868e 100644 --- a/lib/search/indexes/github-docs-3.5-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.5-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6804816b48f1304f9187a9bda7ab7e42746564958c71d1619920bdddc427ad77 -size 900197 +oid sha256:88d31cb46ced340518ec18d79ee948af7d7301b8300887bbbf43b73e28c49e4f +size 897580 diff --git a/lib/search/indexes/github-docs-3.5-ja.json.br b/lib/search/indexes/github-docs-3.5-ja.json.br index e8522d891d..09bcfdc72b 100644 --- a/lib/search/indexes/github-docs-3.5-ja.json.br +++ b/lib/search/indexes/github-docs-3.5-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e78cef21483d8d2ceb8da77229ca81596654bfcfedef32d13e34d2f6534e692 -size 4705772 +oid sha256:ab5c93290c2ec2e3ed8f377516b3ec159f641a0c644ffb52ecc45d26409c8dda +size 4706415 diff --git a/lib/search/indexes/github-docs-3.5-pt-records.json.br b/lib/search/indexes/github-docs-3.5-pt-records.json.br index 7bb10ac5bb..690ec31820 100644 --- a/lib/search/indexes/github-docs-3.5-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.5-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc9dead7fc5c931931f875a61cad9c332299bc21d83260b115a2a1615a594686 -size 768496 +oid sha256:272c78d5c48bac7c55ecb7d2920662ed0ef811f1679f3762dfa11fc0c2a1f536 +size 771016 diff --git a/lib/search/indexes/github-docs-3.5-pt.json.br b/lib/search/indexes/github-docs-3.5-pt.json.br index 83b48bb13c..78b972ac18 100644 --- a/lib/search/indexes/github-docs-3.5-pt.json.br +++ b/lib/search/indexes/github-docs-3.5-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4eda66338d096cb89b5bef9820b00f4eaacb79e5fb468d70d5baefee398684bf -size 3179013 +oid sha256:c849aa2bf1b283e2e4be9f70df95196c785b4d5460a76713f521e9c2d26336b0 +size 3200479 diff --git a/lib/search/indexes/github-docs-3.6-cn-records.json.br b/lib/search/indexes/github-docs-3.6-cn-records.json.br index db1cb2c106..88b0343b56 100644 --- a/lib/search/indexes/github-docs-3.6-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.6-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:325a41a76319feb9a2cd55d1cffab1c7c537922b321830020690ac8151a726e9 -size 877002 +oid sha256:fe20b4ec7e6f024e443314efb9d65fce9cc7348377d5b5030d8b5991f4990f14 +size 871373 diff --git a/lib/search/indexes/github-docs-3.6-cn.json.br b/lib/search/indexes/github-docs-3.6-cn.json.br index 069d9a4902..13def3a3a6 100644 --- a/lib/search/indexes/github-docs-3.6-cn.json.br +++ b/lib/search/indexes/github-docs-3.6-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a28d47ad7b52259deed36a52014e66bffe4e975b8eb9e971f7a3b893d5d53f62 -size 1512826 +oid sha256:07e2e553b08610604d1805578a327322d9f29bb2d3898984009a50c3ebd27d2e +size 1557766 diff --git a/lib/search/indexes/github-docs-3.6-en-records.json.br b/lib/search/indexes/github-docs-3.6-en-records.json.br index 54e1d0e8e4..3f02ce8f6e 100644 --- a/lib/search/indexes/github-docs-3.6-en-records.json.br +++ b/lib/search/indexes/github-docs-3.6-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f09d59746794da964bef2e7caa2c6e92fca5cd2a3d63368fe0c82754218d272 -size 1214552 +oid sha256:72a69ce59df00450f4575bffdbed751631fec3c2c9eef100d8e854167ce28e00 +size 1215492 diff --git a/lib/search/indexes/github-docs-3.6-en.json.br b/lib/search/indexes/github-docs-3.6-en.json.br index 01afee6850..c3f68ea901 100644 --- a/lib/search/indexes/github-docs-3.6-en.json.br +++ b/lib/search/indexes/github-docs-3.6-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59cb1bd0b977375653f6a61d74cf8fe7f7eba8959b29d649dfaf3d2fe6d16086 -size 4897905 +oid sha256:b7251884598adcf3f0fe264907d48e697681431fd295c5f32339a164807d30da +size 4902601 diff --git a/lib/search/indexes/github-docs-3.6-es-records.json.br b/lib/search/indexes/github-docs-3.6-es-records.json.br index 99cdc4a2c1..2889cb2281 100644 --- a/lib/search/indexes/github-docs-3.6-es-records.json.br +++ b/lib/search/indexes/github-docs-3.6-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2866f1e7ffc79e11aeb3db1eff82ffd9f25ceaaf3f0aa7c72f2085d68f1c83e6 -size 798946 +oid sha256:fd8e14c2cd8e7c00aac79c216338e87c94eb1867efd977fbc0acbce48aef6070 +size 803789 diff --git a/lib/search/indexes/github-docs-3.6-es.json.br b/lib/search/indexes/github-docs-3.6-es.json.br index 5d44ea99ea..9a7d259cac 100644 --- a/lib/search/indexes/github-docs-3.6-es.json.br +++ b/lib/search/indexes/github-docs-3.6-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e4930be6a6a77037213e7b5d0fd69982dba17fad20583757befb9de7a75c0e4 -size 3252703 +oid sha256:607454ac2786c313a4c9545236e23d733c72805f0ef28534f63d23e8594a3274 +size 3289847 diff --git a/lib/search/indexes/github-docs-3.6-ja-records.json.br b/lib/search/indexes/github-docs-3.6-ja-records.json.br index 80ebbbddca..da0800a909 100644 --- a/lib/search/indexes/github-docs-3.6-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.6-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6257d73000370102b195468471a7301062783b0c29256eb48871db39659644d -size 922769 +oid sha256:a5da8ea5613260a51b60961ded8a56848dff86dee3a22655a8b6dea945cfee11 +size 920940 diff --git a/lib/search/indexes/github-docs-3.6-ja.json.br b/lib/search/indexes/github-docs-3.6-ja.json.br index ec6f5c0bfb..4cef6850df 100644 --- a/lib/search/indexes/github-docs-3.6-ja.json.br +++ b/lib/search/indexes/github-docs-3.6-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d9ac4102f1f3cb4b973b59f7022f6f5ead8fa0384ccaacf00bb2644a3ea50f0 -size 4828652 +oid sha256:6e19c62d29fd8eae277e6c2c067e1f552808054372abf9708862faf4d29024ad +size 4835313 diff --git a/lib/search/indexes/github-docs-3.6-pt-records.json.br b/lib/search/indexes/github-docs-3.6-pt-records.json.br index 96e18d3a3c..33f760185c 100644 --- a/lib/search/indexes/github-docs-3.6-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.6-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d164a08d645f8eb60689312d022df5a310ed7c6191a5d5f04d88ecfc23bd5b3 -size 788525 +oid sha256:d9bb132e1155a4d18f9a76ed462445b349db35297df4aa9f6c72f61ee7525085 +size 791871 diff --git a/lib/search/indexes/github-docs-3.6-pt.json.br b/lib/search/indexes/github-docs-3.6-pt.json.br index 3c131e19e2..26c1008622 100644 --- a/lib/search/indexes/github-docs-3.6-pt.json.br +++ b/lib/search/indexes/github-docs-3.6-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:406fb3bb578ac8398afa5f2ad1b5a835f7f234d2b516349bc5abfb864cd399cb -size 3265986 +oid sha256:f3531f4b1a0ae0cba4d150b1c4a1924281a5d5d67ceefbb9ef3f1789cb45e876 +size 3289636 diff --git a/lib/search/indexes/github-docs-dotcom-cn-records.json.br b/lib/search/indexes/github-docs-dotcom-cn-records.json.br index 5de695a1e3..2755a85893 100644 --- a/lib/search/indexes/github-docs-dotcom-cn-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1d77366ab0849b532284b1ccaf0e0c5513a72c6b03b8669bdf938a84884b296 -size 1035416 +oid sha256:844ab58477b28954cc23690c5879ff1cc911f6078be2480725fd3468e26711d0 +size 1029003 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index 40d961eed7..7967236c3e 100644 --- a/lib/search/indexes/github-docs-dotcom-cn.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a32e5cf6e126f01a1fe95fd28f867b7e160c2a093b6a54f3bdab897ea06a164 -size 1570449 +oid sha256:c6631d50e7e4b766d011946b23b7b7cce5f34fa929a9343f476bd02a6463ca2f +size 1606518 diff --git a/lib/search/indexes/github-docs-dotcom-en-records.json.br b/lib/search/indexes/github-docs-dotcom-en-records.json.br index d377889353..cd55b36da4 100644 --- a/lib/search/indexes/github-docs-dotcom-en-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8da2f1ed7e34913f35a03daf1b34e51cbdcf90e8ac299f1fe2aa6083619f2936 -size 1469572 +oid sha256:648bcbd1969fb64587258eac2ee16b199e2a0d834c2dec1a8ce1a039c8a6e700 +size 1471513 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index dfdbb66110..a3f9f598ec 100644 --- a/lib/search/indexes/github-docs-dotcom-en.json.br +++ b/lib/search/indexes/github-docs-dotcom-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73b85148c3968acc84623437aba8a3420fb0e4d8a44373c78ffd0a800e2bcaa1 -size 5665542 +oid sha256:596481ec822d2ce16f46b2e0761f8148ab68f7bcb5ab2c715617c5a2faa938fd +size 5670687 diff --git a/lib/search/indexes/github-docs-dotcom-es-records.json.br b/lib/search/indexes/github-docs-dotcom-es-records.json.br index 200b0d3a78..3142b8e2c8 100644 --- a/lib/search/indexes/github-docs-dotcom-es-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4369f8e48fcafc08cdac458c9bb0dad89203abc766c0de38ecf86bdccc35c5e3 -size 932812 +oid sha256:d136dc713f3febb1bcdfabce1f3c6614997b597bc60cf42352444681b4230a07 +size 937735 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index 347fc15b0c..42ad89eaf8 100644 --- a/lib/search/indexes/github-docs-dotcom-es.json.br +++ b/lib/search/indexes/github-docs-dotcom-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1221549b5f29015a947a0b520fad56a083853182a1f0d334fecbdbb678d9d91 -size 3700859 +oid sha256:3d2a56a4704e90bf560836c3ca4719046548d3b063ffd587c17600123c46244f +size 3740489 diff --git a/lib/search/indexes/github-docs-dotcom-ja-records.json.br b/lib/search/indexes/github-docs-dotcom-ja-records.json.br index 607c6e3985..3c7b40f0eb 100644 --- a/lib/search/indexes/github-docs-dotcom-ja-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4037566a72feb75063abd790dffc889ce065281f517b759957de543e697b60f2 -size 1086642 +oid sha256:4ec3454def3064a7c617424633577227b8ba938b52c9ba35ad0c8a34b4d5f3a9 +size 1083461 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index 508a3c2933..f88770f7a2 100644 --- a/lib/search/indexes/github-docs-dotcom-ja.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84787f3dc6818a28566ba7af344029af3c533bba250b3f3a722ffcda29a8fe28 -size 5530388 +oid sha256:8ddfcfe86ba18b628abeb0b0ee47d38dd8778d16d4e8b6bd0de9a5e4fdeb5a39 +size 5526687 diff --git a/lib/search/indexes/github-docs-dotcom-pt-records.json.br b/lib/search/indexes/github-docs-dotcom-pt-records.json.br index 8da9c29069..248195e96c 100644 --- a/lib/search/indexes/github-docs-dotcom-pt-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c6074fc12612c6bb8c9e871d509c22b2fc6af6001adaa57a5cf0d9808e72303 -size 919621 +oid sha256:dd7a02f5d9019443a8893e5594e43eb7c0513432620a1c08011fed6b299253bf +size 921949 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index da97ee8fb7..4b2585bb2b 100644 --- a/lib/search/indexes/github-docs-dotcom-pt.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3acf6faa7d423e3b0a598a7a72c0b673be9bf1948689db90d46a1b9b37faf585 -size 3695405 +oid sha256:371be531cccb49760f034ece0bf465f307f997e85d92b2fe5eb507b2f305c912 +size 3714200 diff --git a/lib/search/indexes/github-docs-ghae-cn-records.json.br b/lib/search/indexes/github-docs-ghae-cn-records.json.br index bfe0c5a220..29bf2cced3 100644 --- a/lib/search/indexes/github-docs-ghae-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghae-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:472d045a1bfbc9ace86f7f21e21cb2854c97580a79934d53e64c135971dbf33b -size 660490 +oid sha256:a7f039cedbd36ddabeb71f86acc914256a77820c2eb48be1128a4dcae7180a01 +size 654776 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index 02c01aedb3..f233c0e8cf 100644 --- a/lib/search/indexes/github-docs-ghae-cn.json.br +++ b/lib/search/indexes/github-docs-ghae-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e8e89da977728ed2632fb59021b3660f989136960a15e0e46424b8d746e0d6e -size 1136758 +oid sha256:f5e8ae73805291115a8fed5c46104aab3841d3bdbd4c3392a7a4460bc16bcc6d +size 1176694 diff --git a/lib/search/indexes/github-docs-ghae-en-records.json.br b/lib/search/indexes/github-docs-ghae-en-records.json.br index 8761feb5d5..d189a83e07 100644 --- a/lib/search/indexes/github-docs-ghae-en-records.json.br +++ b/lib/search/indexes/github-docs-ghae-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75994f5dbefbb376cd9f2c63a490856c4b17f5f3da141581b33d296ddef8b478 -size 944172 +oid sha256:d70dc0e68a66a737b3604fdb4ce0e9b7553f6fa8d78bc51f3243995042a67b68 +size 944617 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index 9abe4d9746..136656673f 100644 --- a/lib/search/indexes/github-docs-ghae-en.json.br +++ b/lib/search/indexes/github-docs-ghae-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a1e6e91cddbf66d0d0510d81794f931e55783c49e7d8d354a60e72040f89893 -size 3741625 +oid sha256:3438d2353c8e4c35565ea7cca74edbbdd9ff92ff3a6c32da4e7ddd867678dae1 +size 3744334 diff --git a/lib/search/indexes/github-docs-ghae-es-records.json.br b/lib/search/indexes/github-docs-ghae-es-records.json.br index 910a1e9260..3de76adc70 100644 --- a/lib/search/indexes/github-docs-ghae-es-records.json.br +++ b/lib/search/indexes/github-docs-ghae-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be3ea72be71c258b15d3466e7c25021b2306b52b5091c3607f68ed3513a8a2cc -size 610269 +oid sha256:19a9ad630571e2b624bb664eeb61aa5517d10ea9d153f7769168ab2dab36a1be +size 614053 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 22a69c6bbd..4fc86d71a9 100644 --- a/lib/search/indexes/github-docs-ghae-es.json.br +++ b/lib/search/indexes/github-docs-ghae-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:95fad85d2fbf3395b73c66603b3cf4c02ab4e8e40b375724cf6464bbc003c036 -size 2387313 +oid sha256:6a5384c276d99635998ae14c68c7a42d8aafc834cd2ffccca7734ed2b824ce79 +size 2419740 diff --git a/lib/search/indexes/github-docs-ghae-ja-records.json.br b/lib/search/indexes/github-docs-ghae-ja-records.json.br index fee7897d0c..ebeda03a2f 100644 --- a/lib/search/indexes/github-docs-ghae-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghae-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69f9a92ba47d71f7dd8b4cf6daa9695b10eab24f4f90b39115b96cd51bdbb00f -size 694702 +oid sha256:a06296ba763bc410bf3aa12e2b03816962f60d7e7e2ee93e724a8864311fb1b9 +size 691770 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index 96e1abfe4e..248ddf871a 100644 --- a/lib/search/indexes/github-docs-ghae-ja.json.br +++ b/lib/search/indexes/github-docs-ghae-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f09b0aaa1b3beea8f89901c6bd168967548d63df6da8a6746f60d4f55e5c0bcf -size 3534530 +oid sha256:b63aafbf8e350596a11139a4b550f0bce3acfe6855f71ddf37f7c99ba0b2756d +size 3534333 diff --git a/lib/search/indexes/github-docs-ghae-pt-records.json.br b/lib/search/indexes/github-docs-ghae-pt-records.json.br index a8c271c6cb..dda5ce6939 100644 --- a/lib/search/indexes/github-docs-ghae-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghae-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:134db898c2553c1bedea8eedc7afbd4d1ead8a6575c2b1078c367b94178289c2 -size 602667 +oid sha256:bf3ed7924b091e76605572f6e73bd101af950e3f000d7d1602354ad896b67467 +size 605240 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index 3f26395e0a..ef9dd305ac 100644 --- a/lib/search/indexes/github-docs-ghae-pt.json.br +++ b/lib/search/indexes/github-docs-ghae-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0280a6f36f8260867d1631bbb48a96af4412c554713943401cd81569a51f565 -size 2400406 +oid sha256:8242781f6bdfee5422e7b887664dcc9ddc512a80a52ba6c3604da08f81ffa570 +size 2424250 diff --git a/lib/search/indexes/github-docs-ghec-cn-records.json.br b/lib/search/indexes/github-docs-ghec-cn-records.json.br index 7c1ea3bee8..a79e6b2e68 100644 --- a/lib/search/indexes/github-docs-ghec-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghec-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2acb69b9e0654c23e7044b68d81d3a8c7c9383f3f649cf2283694af9b5f4492a -size 1012594 +oid sha256:27f1a61fe5a77a408bac9ae0db82aae15213d068c086b84e3c638037813d9018 +size 1006756 diff --git a/lib/search/indexes/github-docs-ghec-cn.json.br b/lib/search/indexes/github-docs-ghec-cn.json.br index abeb2e0094..07d80a8a92 100644 --- a/lib/search/indexes/github-docs-ghec-cn.json.br +++ b/lib/search/indexes/github-docs-ghec-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84865a53a5134413e30c049094076a76b9fa3e1dc4c44ba6eae67300cff2a604 -size 1679050 +oid sha256:ac34b9d3b31c2bea4ea577fa82e54fb49f5f7d7888d1f70a5f37dab9e2213598 +size 1721921 diff --git a/lib/search/indexes/github-docs-ghec-en-records.json.br b/lib/search/indexes/github-docs-ghec-en-records.json.br index 63c072ef5b..035125be74 100644 --- a/lib/search/indexes/github-docs-ghec-en-records.json.br +++ b/lib/search/indexes/github-docs-ghec-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7142a5d790427e21c9d2a10e117cd0451a1242110e23f37b91541c51307bb922 -size 1401689 +oid sha256:2bd95d94c379db771fd3c21dc441f3475cc999d0c0a57854d348664d97c11dcf +size 1402774 diff --git a/lib/search/indexes/github-docs-ghec-en.json.br b/lib/search/indexes/github-docs-ghec-en.json.br index a60ade72fa..1de23985b9 100644 --- a/lib/search/indexes/github-docs-ghec-en.json.br +++ b/lib/search/indexes/github-docs-ghec-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f4fd373cda848374cf9e91bbb76f33c5d8c986385394417d894c4e8a6bcc97c -size 5692421 +oid sha256:8a21e28e30bd251e75693b16ddc56c54b566c1495e24ba5c412fd2644fc32d4f +size 5697680 diff --git a/lib/search/indexes/github-docs-ghec-es-records.json.br b/lib/search/indexes/github-docs-ghec-es-records.json.br index 776cb2c198..ac00f89c7b 100644 --- a/lib/search/indexes/github-docs-ghec-es-records.json.br +++ b/lib/search/indexes/github-docs-ghec-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec1b375a5d103702131a0f986d6da9d7366ad55f77c036141f22e11a1e420ed3 -size 932593 +oid sha256:74cb1a1650ef548a9297a9265c402342064ec26362f5d6dc3324f3c984b10ef0 +size 937707 diff --git a/lib/search/indexes/github-docs-ghec-es.json.br b/lib/search/indexes/github-docs-ghec-es.json.br index 71c4be3841..16f56d544a 100644 --- a/lib/search/indexes/github-docs-ghec-es.json.br +++ b/lib/search/indexes/github-docs-ghec-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04aac88389536f7678b935411d53630eaa22c31b8212bcb028882019bab65c10 -size 3824270 +oid sha256:2e4c94fcef89b1697330ab2dc210e19c6c27a4320a7d09d6fb1cf62c2c564400 +size 3866552 diff --git a/lib/search/indexes/github-docs-ghec-ja-records.json.br b/lib/search/indexes/github-docs-ghec-ja-records.json.br index c70f3ac431..ff0b7ca3c5 100644 --- a/lib/search/indexes/github-docs-ghec-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghec-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7059cfd5f66cbc9a2de8a36ccace6e8936ef7412849273735cb89f08793ff677 -size 1072759 +oid sha256:82abed6de0ca24f118abb688b2cd6523e79caff9a8969b4999e503cafd111134 +size 1070515 diff --git a/lib/search/indexes/github-docs-ghec-ja.json.br b/lib/search/indexes/github-docs-ghec-ja.json.br index 93938fbc2d..9a0e8a083d 100644 --- a/lib/search/indexes/github-docs-ghec-ja.json.br +++ b/lib/search/indexes/github-docs-ghec-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6420dce8335a904e1607b6da9896cb26bd24ee0f21d864af6ec896c599fad503 -size 5641974 +oid sha256:3c99c28402c3231829ed4c6d0b1535578d815926c171faf174328448e6a5465f +size 5642883 diff --git a/lib/search/indexes/github-docs-ghec-pt-records.json.br b/lib/search/indexes/github-docs-ghec-pt-records.json.br index 1b727e79da..7febd054c8 100644 --- a/lib/search/indexes/github-docs-ghec-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghec-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79012efcc525469a9e39bf6d4e070796c21810f90b0d71a7133c16fc6f8e82df -size 920184 +oid sha256:db18900d6317020cbaa5eba8cc4a3fba8ad38b89fc8062bb4db6f7701f06e279 +size 922818 diff --git a/lib/search/indexes/github-docs-ghec-pt.json.br b/lib/search/indexes/github-docs-ghec-pt.json.br index afb7f47d2b..7c31190ffd 100644 --- a/lib/search/indexes/github-docs-ghec-pt.json.br +++ b/lib/search/indexes/github-docs-ghec-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8f31e753b8d8de047f9578a2e53098c35252b9ac5557f530606342224337aff -size 3819371 +oid sha256:ab5b419b1695c02c74ffdc365860b8a6a81c2f5d14eb3e9190decc5c127396a7 +size 3842301 diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index ae91f50378..76692b6069 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -16,10 +16,10 @@ topics: - Accounts shortTitle: Delete your account ms.openlocfilehash: c26ae9af0266defeaa7d0e15afc22b2edee2b7d2 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: '147687270' --- ## Acerca de la eliminación de tu cuenta personal diff --git a/translations/es-ES/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/translations/es-ES/content/actions/creating-actions/publishing-actions-in-github-marketplace.md index 66ee2080e3..f3808efedc 100644 --- a/translations/es-ES/content/actions/creating-actions/publishing-actions-in-github-marketplace.md +++ b/translations/es-ES/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -1,6 +1,6 @@ --- -title: Publishing actions in GitHub Marketplace -intro: 'You can publish actions in {% data variables.product.prodname_marketplace %} and share actions you''ve created with the {% data variables.product.prodname_dotcom %} community.' +title: Publicar acciones en GitHub Marketplace +intro: 'Puedes publicar acciones en {% data variables.product.prodname_marketplace %} y compartir acciones que has creado con la comunidad de {% data variables.product.prodname_dotcom %}.' redirect_from: - /github/automating-your-workflow-with-github-actions/publishing-actions-in-github-marketplace - /actions/automating-your-workflow-with-github-actions/publishing-actions-in-github-marketplace @@ -10,59 +10,63 @@ versions: ghec: '*' type: how_to shortTitle: Publish in GitHub Marketplace +ms.openlocfilehash: e16f65116d7aa7c327e937dc2eba8964195e547d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884305' --- +Debes aceptar los términos de servicio para publicar acciones en {% data variables.product.prodname_marketplace %}. -You must accept the terms of service to publish actions in {% data variables.product.prodname_marketplace %}. +## Acerca de la publicación de acciones -## About publishing actions +Antes de que puedas publicar una acción, deberás crear una acción en tu repositorio. Para más información, vea "[Creación de acciones](/actions/creating-actions)". -Before you can publish an action, you'll need to create an action in your repository. For more information, see "[Creating actions](/actions/creating-actions)." +Cuando planeas publicar tu acción en {% data variables.product.prodname_marketplace %}, necesitarás asegurarte de que el repositorio solo incluya el archivo de metadatos, el código y los archivos necesarios para la acción. Crear un repositorio único para la acción te permite etiquetar, lanzar y empaquetar el código en una sola unidad. {% data variables.product.prodname_dotcom %} también usa los metadatos de la acción en tu página de {% data variables.product.prodname_marketplace %}. -When you plan to publish your action to {% data variables.product.prodname_marketplace %}, you'll need ensure that the repository only includes the metadata file, code, and files necessary for the action. Creating a single repository for the action allows you to tag, release, and package the code in a single unit. {% data variables.product.prodname_dotcom %} also uses the action's metadata on your {% data variables.product.prodname_marketplace %} page. +Las acciones se publican en {% data variables.product.prodname_marketplace %} inmediatamente y no son revisadas por {% data variables.product.prodname_dotcom %} siempre que cumplan con estos requisitos: -Actions are published to {% data variables.product.prodname_marketplace %} immediately and aren't reviewed by {% data variables.product.prodname_dotcom %} as long as they meet these requirements: +- La acción debe estar en un repositorio público. +- Cada repositorio debe contener una sola acción. +- El archivo de metadatos de la acción (`action.yml` o `action.yaml`) debe estar en el directorio raíz del repositorio. +- El elemento `name` en el archivo de metadatos de la acción debe ser único. + - El elemento `name` no debe coincidir con el nombre de una acción existente publicada en {% data variables.product.prodname_marketplace %}. + - El elemento `name` no debe coincidir con un usuario u organización en {% data variables.product.prodname_dotcom %}, a menos que el usuario o el propietario de la organización publique la acción. Por ejemplo, solo la organización {% data variables.product.prodname_dotcom %} puede publicar una acción denominada `github`. + - El elemento `name` no debe coincidir con una categoría existente de {% data variables.product.prodname_marketplace %}. + - {% data variables.product.prodname_dotcom %} reserva los nombres de las funciones de {% data variables.product.prodname_dotcom %}. -- The action must be in a public repository. -- Each repository must contain a single action. -- The action's metadata file (`action.yml` or `action.yaml`) must be in the root directory of the repository. -- The `name` in the action's metadata file must be unique. - - The `name` cannot match an existing action name published on {% data variables.product.prodname_marketplace %}. - - The `name` cannot match a user or organization on {% data variables.product.prodname_dotcom %}, unless the user or organization owner is publishing the action. For example, only the {% data variables.product.prodname_dotcom %} organization can publish an action named `github`. - - The `name` cannot match an existing {% data variables.product.prodname_marketplace %} category. - - {% data variables.product.prodname_dotcom %} reserves the names of {% data variables.product.prodname_dotcom %} features. +## Publicación de una acción -## Publishing an action +Puedes agregar la acción que has creado para {% data variables.product.prodname_marketplace %} etiquetándola como un lanzamiento nuevo y publicándola. -You can add the action you've created to {% data variables.product.prodname_marketplace %} by tagging it as a new release and publishing it. - -To draft a new release and publish the action to {% data variables.product.prodname_marketplace %}, follow these instructions: +Para preparar un nuevo lanzamiento y publicar la acción en {% data variables.product.prodname_marketplace %}, sigue estas instrucciones: {% data reusables.repositories.navigate-to-repo %} -1. Navigate to the action metadata file in your repository (`action.yml` or `action.yaml`), and you'll see a banner to publish the action to {% data variables.product.prodname_marketplace %}. Click **Draft a release**. +1. Navega al archivo de metadatos de acción en el repositorio (`action.yml` o `action.yaml`), verás un banner para publicar la acción en {% data variables.product.prodname_marketplace %}. Haz clic en **Borrador de una versión**. - ![Publish this action to marketplace button](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) -1. Under "Release Action", select the checkbox to publish the action to the {% data variables.product.prodname_marketplace %}. If you can't select the checkbox, you must first click the link to read and accept the {% data variables.product.prodname_marketplace %} Developer Agreement. -![Select publish to Marketplace](/assets/images/help/repository/marketplace_actions_publish.png) -1. If the labels in your metadata file contain any problems, you will see an error message. -![See notification](/assets/images/help/repository/marketplace_actions_fixerrors.png) -1. If you see any on-screen suggestions, address them by updating your metadata file. Once complete, you will see an "Everything looks good!" message. -![Fix errors](/assets/images/help/repository/marketplace_actions_looksgood.png) -1. Choose a "Primary Category" and, optionally, "Another Category" which will help people find your action in {% data variables.product.prodname_marketplace %}. -![Choose category](/assets/images/help/repository/marketplace_actions_categories.png) -1. Tag your Action with a version, and add a release title. This helps people know what changes or features the release includes. People will see the version in the action's dedicated {% data variables.product.prodname_marketplace %} page. -![Tag a version](/assets/images/help/repository/marketplace_actions_version.png) -1. Complete all other fields and click **Publish release**. Publishing requires you to use two-factor authentication. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication/)." -![Publish the release](/assets/images/help/repository/marketplace_actions_publishrelease.png) + ![Publicación de esta acción en el botón marketplace](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) +1. En "Acción de lanzamiento", activa la casilla para publicar la acción en {% data variables.product.prodname_marketplace %}. Si no puedes activar la casilla, en primer lugar debes hacer clic en el vínculo para leer y aceptar el Acuerdo para desarrolladores de {% data variables.product.prodname_marketplace %}. +![Selecciona publicar en Marketplace](/assets/images/help/repository/marketplace_actions_publish.png) +1. Si las etiquetas en tu archivo de metadatos contienen algún problema, verás un mensaje de error. +![Ver notificación](/assets/images/help/repository/marketplace_actions_fixerrors.png) +1. Si ves alguna sugerencia en pantalla, la solucionas actualizando tu archivo de metadatos. Una vez que esté completo, verás un mensaje "Everything looks Good!" (Todo se ve bien). "Hola mundo". +![Corregir errores](/assets/images/help/repository/marketplace_actions_looksgood.png) +1. Elige una "Primary Category" (Categoría principal) y, de manera opcional, "Another Category" (Otra categoría) que ayudará a las personas a encontrar tu acción en {% data variables.product.prodname_marketplace %}. +![Elegir una categoría](/assets/images/help/repository/marketplace_actions_categories.png) +1. Etiqueta tu acción con una versión y agrega un título de lanzamiento. Esto permite que las personas conozcan qué cambios o características incluye el lanzamiento. Las personas verán la versión en la página dedicada a la acción de {% data variables.product.prodname_marketplace %}. +![Etiquetar una versión](/assets/images/help/repository/marketplace_actions_version.png) +1. Completa todos los demás campos y haz clic en **Publicar versión**. La publicación requiere que uses la autenticación de dos factores. Para obtener más información, vea "[Configuración de autenticación en dos fases](/articles/configuring-two-factor-authentication/)". +![Publicación de la versión](/assets/images/help/repository/marketplace_actions_publishrelease.png) -## Removing an action from {% data variables.product.prodname_marketplace %} +## Eliminando una acción de {% data variables.product.prodname_marketplace %} -To remove a published action from {% data variables.product.prodname_marketplace %}, you'll need to update each published release. Perform the following steps for each release of the action you've published to {% data variables.product.prodname_marketplace %}. +Para eliminar una acción publicada del {% data variables.product.prodname_marketplace %}, necesitarás actualizar cada lanzamiento publicado. Realiza los siguientes pasos para cada lanzamiento de la acción que has publicado en {% data variables.product.prodname_marketplace %}. -{% data reusables.repositories.navigate-to-repo %} -{% data reusables.repositories.releases %} -3. On the Releases page, to the right of the release you want to edit, click **Edit**. -![Release edit button](/assets/images/help/releases/release-edit-btn.png) -4. Select **Publish this action to the {% data variables.product.prodname_marketplace %}** to remove the check from the box. -![Publish this action button](/assets/images/help/repository/actions-marketplace-unpublish.png) -5. Click **Update release** at the bottom of the page. -![Update release button](/assets/images/help/repository/actions-marketplace-update-release.png) +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +3. En la página Versiones, a la derecha de la versión que quieres editar, haz clic en **Editar**. +![Botón Editar versión](/assets/images/help/releases/release-edit-btn.png) +4. Selecciona **Publicar esta acción en {% data variables.product.prodname_marketplace %}** para quitar la marca del cuadro. +![Botón Publicar esta acción](/assets/images/help/repository/actions-marketplace-unpublish.png) +5. En la parte inferior de la página, haz clic en **Actualizar versión**. +![Botón Actualizar versión](/assets/images/help/repository/actions-marketplace-update-release.png) diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md index 54dd56fb93..a74a2e1002 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md @@ -10,12 +10,12 @@ versions: type: tutorial topics: - Security -ms.openlocfilehash: 5ac1a902bb9ef397fa6fa157ea58496d57ffd231 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: 6b57dc216c3f2ebc1edb73a8d588edb1967aebcb +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '146171857' +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878428' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} @@ -42,7 +42,7 @@ Para agregar el proveedor de OIDC de {% data variables.product.prodname_dotcom % Para configurar el rol y la confianza en IAM, vea la documentación de AWS sobre ["Asumir un rol"](https://github.com/aws-actions/configure-aws-credentials#assuming-a-role) y ["Creación de un rol para la identidad web o la federación de OpenID Connect"](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html). -Edite la relación de confianza para agregar el campo `sub` a las condiciones de validación. Por ejemplo: +Edite la directiva de confianza para agregar el campo `sub` a las condiciones de validación. Por ejemplo: ```json{:copy} "Condition": { @@ -53,6 +53,33 @@ Edite la relación de confianza para agregar el campo `sub` a las condiciones de } ``` +En el ejemplo siguiente, `ForAllValues` se usa para buscar coincidencias en varias claves de condición y `StringLike` se usa para hacer coincidir cualquier referencia en el repositorio especificado. Tenga en cuenta que `ForAllValues` es [excesivamente permisivo](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) y no debe usarse por sí mismo en un efecto `Allow`. En este ejemplo, la inclusión de `StringLike` significa que un conjunto vacío en `ForAllValues` seguirá sin pasar la condición: + +```json{:copy} +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam::123456123456:oidc-provider/token.actions.githubusercontent.com" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringLike": { + "token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:*" + }, + "ForAllValues:StringEquals": { + "token.actions.githubusercontent.com:iss": "https://token.actions.githubusercontent.com", + "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" + } + } + } + ] +} +``` + + ## Actualizar tu flujo de trabajo de {% data variables.product.prodname_actions %} Para actualizar tus flujos de trabajo para ODIC, necesitarás hacer dos cambios a tu YAML: @@ -82,7 +109,7 @@ env: AWS_REGION : "" # permission can be added at job level or workflow level permissions: - id-token: write + id-token: write # This is required for requesting the JWT contents: read # This is required for actions/checkout jobs: S3PackageUpload: diff --git a/translations/es-ES/content/actions/learn-github-actions/contexts.md b/translations/es-ES/content/actions/learn-github-actions/contexts.md index 74256153a3..a9e4122556 100644 --- a/translations/es-ES/content/actions/learn-github-actions/contexts.md +++ b/translations/es-ES/content/actions/learn-github-actions/contexts.md @@ -1,7 +1,7 @@ --- -title: Contexts +title: Contextos shortTitle: Contexts -intro: You can access context information in workflows and actions. +intro: Puedes acceder a información de contexto en los flujos de trabajo y acciones. redirect_from: - /articles/contexts-and-expression-syntax-for-github-actions - /github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions @@ -14,65 +14,59 @@ versions: ghae: '*' ghec: '*' miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 787b273a9aea102e0226b936d3cd35ef6b5153b6 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147782732' --- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} -{% data reusables.actions.enterprise-beta %} -{% data reusables.actions.enterprise-github-hosted-runners %} +## Acerca de los contextos -## About contexts +Los contextos son una manera de acceder a información acerca de las ejecuciones de flujo de trabajo, los entornos del ejecutor, los trabajos y los pasos. Cada contexto es un objeto que contiene propiedades, las cuales pueden ser secuencias u otros objetos. -Contexts are a way to access information about workflow runs, runner environments, jobs, and steps. Each context is an object that contains properties, which can be strings or other objects. +{% data reusables.actions.context-contents %} Por ejemplo, el contexto `matrix` solo se rellena para los trabajos de una [matriz](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix). -{% data reusables.actions.context-contents %} For example, the `matrix` context is only populated for jobs in a [matrix](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix). +Puedes acceder a los contextos utilizando la sintaxis de expresión. Para más información, vea "[Expresiones](/actions/learn-github-actions/expressions)". -You can access contexts using the expression syntax. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." - -{% raw %} -`${{ }}` +{% raw %} `${{ }}` {% endraw %} {% data reusables.actions.context-injection-warning %} -| Context name | Type | Description | +| Nombre del contexto | Tipo | Descripción | |---------------|------|-------------| -| `github` | `object` | Information about the workflow run. For more information, see [`github` context](#github-context). | -| `env` | `object` | Contains environment variables set in a workflow, job, or step. For more information, see [`env` context](#env-context). | -| `job` | `object` | Information about the currently running job. For more information, see [`job` context](#job-context). | -{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} -| `jobs` | `object` | For reusable workflows only, contains outputs of jobs from the reusable workflow. For more information, see [`jobs` context](#jobs-context). |{% endif %} -| `steps` | `object` | Information about the steps that have been run in the current job. For more information, see [`steps` context](#steps-context). | -| `runner` | `object` | Information about the runner that is running the current job. For more information, see [`runner` context](#runner-context). | -| `secrets` | `object` | Contains the names and values of secrets that are available to a workflow run. For more information, see [`secrets` context](#secrets-context). | -| `strategy` | `object` | Information about the matrix execution strategy for the current job. For more information, see [`strategy` context](#strategy-context). | -| `matrix` | `object` | Contains the matrix properties defined in the workflow that apply to the current job. For more information, see [`matrix` context](#matrix-context). | -| `needs` | `object` | Contains the outputs of all jobs that are defined as a dependency of the current job. For more information, see [`needs` context](#needs-context). | -{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} -| `inputs` | `object` | Contains the inputs of a reusable {% ifversion actions-unified-inputs %}or manually triggered {% endif %}workflow. For more information, see [`inputs` context](#inputs-context). |{% endif %} +| `github` | `object` | Información sobre la ejecución del flujo de trabajo. Para más información, vea [el contexto `github`](#github-context). | +| `env` | `object` | Contiene variables de entorno establecidas en un flujo de trabajo, trabajo o paso. Para más información, vea [el contexto `env`](#env-context). | +| `job` | `object` | Información acerca del job que se está ejecutando actualmente. Para más información, vea [el contexto `job`](#job-context). | +{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} | `jobs` | `object` | Solo para flujos de trabajo reutilizables, contiene salidas de trabajos del flujo de trabajo reutilizable. Para más información, vea [el contexto `jobs`](#jobs-context). |{% endif %} | `steps` | `object` | Información sobre los pasos que se han ejecutado en el trabajo actual. Para más información, vea [el contexto `steps`](#steps-context). | | `runner` | `object` | Información sobre el ejecutor que está realizando el trabajo actual. Para más información, vea [el contexto `runner`](#runner-context). | | `secrets` | `object` | Contiene los nombres y valores de los secretos que se encuentran disponibles para una ejecución de flujo de trabajo. Para más información, vea [el contexto `secrets`](#secrets-context). | | `strategy` | `object` | Información sobre la estrategia de ejecución de la matriz para el trabajo actual. Para más información, vea [el contexto `strategy`](#strategy-context). | | `matrix` | `object` | Contiene las propiedades de la matriz que se definen en el flujo de trabajo que aplica al trabajo actual. Para más información, vea [el contexto `matrix`](#matrix-context). | | `needs` | `object` | Contiene las salidas de todos los trabajos que se definen como una dependencia del trabajo actual. Para más información, vea [el contexto `needs`](#needs-context). | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} | `inputs` | `object` | Contiene las entradas de un flujo de trabajo reutilizable {% ifversion actions-unified-inputs %} o manualmente desencadenado {% endif %}. Para más información, vea [el contexto `inputs`](#inputs-context). |{% endif %} -As part of an expression, you can access context information using one of two syntaxes. +Como parte de una expresión, puedes acceder a la información de contexto utilizando una de dos sintaxis. -- Index syntax: `github['sha']` -- Property dereference syntax: `github.sha` +- Sintaxis de índice: `github['sha']` +- Sintaxis de desreferenciación de propiedades: `github.sha` -In order to use property dereference syntax, the property name must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`. +Para usar la sintaxis de desreferencia de propiedades, el nombre de la propiedad debe comenzar con una letra o `_` y solo puede incluir caracteres alfanuméricos, `-` o `_`. -If you attempt to dereference a non-existent property, it will evaluate to an empty string. +Si intentas desreferenciar una propiedad inexistente, se evaluará como cadena vacía. -### Determining when to use contexts +### Determinar cuándo utilizar contextos {% data reusables.actions.using-context-or-environment-variables %} -### Context availability +### Disponibilidad de contexto -Different contexts are available throughout a workflow run. For example, the `secrets` context may only be used at certain places within a job. +Hay diferentes contextos disponibles a lo largo de un ejecutor de flujo de trabajo. Por ejemplo, el contexto `secrets` solo se puede usar en determinados puntos de un trabajo. -In addition, some functions may only be used in certain places. For example, the `hashFiles` function is not available everywhere. +Adicionalmente, algunas funcionalidades solo pueden utilizarse en algunos lugares. Por ejemplo, la función `hashFiles` no está disponible en todas partes. -The following table indicates where each context and special function can be used within a workflow. Unless listed below, a function can be used anywhere. +La siguiente tabla indica si cada contexto y fución especial puede utilizarse dentro de un flujo de trabajo. A menos de que se liste a continuación, las funciones se pueden utilizar donde sea. {% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} -| Workflow key | Context | Special functions | +| Clave de flujo de trabajo | Context | Funciones especiales | | ---- | ------- | ----------------- | | concurrency | github, inputs | | | env | github, secrets, inputs | | @@ -107,7 +101,7 @@ The following table indicates where each context and special function can be use | on.workflow_call.inputs.<inputs_id>.default | github{% ifversion actions-unified-inputs %}, inputs{% endif %} | | | on.workflow_call.outputs.<output_id>.value | github, jobs, inputs | | {% else %} -| Path | Context | Special functions | +| Ruta de acceso | Context | Funciones especiales | | ---- | ------- | ----------------- | | concurrency | github | | | env | github, secrets | | @@ -139,9 +133,9 @@ The following table indicates where each context and special function can be use | jobs.<job_id>.timeout-minutes | github, needs, strategy, matrix | | {% endif %} -### Example: printing context information to the log +### Ejemplo: imprimir información de contexto a la bitácora -You can print the contents of contexts to the log for debugging. The [`toJSON` function](/actions/learn-github-actions/expressions#tojson) is required to pretty-print JSON objects to the log. +Puedes imprimir el contenido de los contextos a la bitácora para la depuración. La [función `toJSON`](/actions/learn-github-actions/expressions#tojson) es necesaria para imprimir objetos JSON en el registro. {% data reusables.actions.github-context-warning %} @@ -170,57 +164,36 @@ jobs: ``` {% endraw %} -## `github` context +## Contexto `github` -The `github` context contains information about the workflow run and the event that triggered the run. You can also read most of the `github` context data in environment variables. For more information about environment variables, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)." +El contexto `github` contiene información sobre la ejecución del flujo de trabajo y el evento que ha desencadenado la ejecución. También puede leer la mayoría de los datos del contexto `github` en variables de entorno. Para más información sobre las variables de entorno, vea "[Uso de variables de entorno](/actions/automating-your-workflow-with-github-actions/using-environment-variables)". -{% data reusables.actions.github-context-warning %} -{% data reusables.actions.context-injection-warning %} +{% data reusables.actions.github-context-warning %} {% data reusables.actions.context-injection-warning %} -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `github` | `object` | The top-level context available during any job or step in a workflow. This object contains all the properties listed below. | -| `github.action` | `string` | The name of the action currently running, or the [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) of a step. {% data variables.product.prodname_dotcom %} removes special characters, and uses the name `__run` when the current step runs a script without an `id`. If you use the same action more than once in the same job, the name will include a suffix with the sequence number with underscore before it. For example, the first script you run will have the name `__run`, and the second script will be named `__run_2`. Similarly, the second invocation of `actions/checkout` will be `actionscheckout2`. | -| `github.action_path` | `string` | The path where an action is located. This property is only supported in composite actions. You can use this path to access files located in the same repository as the action. | -| `github.action_ref` | `string` | For a step executing an action, this is the ref of the action being executed. For example, `v2`. | -| `github.action_repository` | `string` | For a step executing an action, this is the owner and repository name of the action. For example, `actions/checkout`. | -| `github.action_status` | `string` | For a composite action, the current result of the composite action. | -| `github.actor` | `string` | {% ifversion actions-stable-actor-ids %}The username of the user that triggered the initial workflow run. If the workflow run is a re-run, this value may differ from `github.triggering_actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges.{% else %}The username of the user that initiated the workflow run.{% endif %} | -| `github.api_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} REST API. | -| `github.base_ref` | `string` | The `base_ref` or target branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | -| `github.env` | `string` | Path on the runner to the file that sets environment variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#setting-an-environment-variable)." | -| `github.event` | `object` | The full event webhook payload. You can access individual properties of the event using this context. This object is identical to the webhook payload of the event that triggered the workflow run, and is different for each event. The webhooks for each {% data variables.product.prodname_actions %} event is linked in "[Events that trigger workflows](/articles/events-that-trigger-workflows/)." For example, for a workflow run triggered by the [`push` event](/actions/using-workflows/events-that-trigger-workflows#push), this object contains the contents of the [push webhook payload](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). | -| `github.event_name` | `string` | The name of the event that triggered the workflow run. | -| `github.event_path` | `string` | The path to the file on the runner that contains the full event webhook payload. | -| `github.graphql_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} GraphQL API. | -| `github.head_ref` | `string` | The `head_ref` or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | -| `github.job` | `string` | The [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job.
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. | +| `github` | `object` | El contexto de nivel superior disponible durante cualquier trabajo o paso en un flujo de trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `github.action` | `string` | Nombre de la acción actualmente en ejecución de flujo, o bien el valor [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) de un paso. {% data variables.product.prodname_dotcom %} quita caracteres especiales y usa el nombre `__run` cuando el paso actual ejecuta un script sin `id`. Si utilizas la misma acción más de una vez en el mismo job, el nombre incluirá un sufijo con el número de secuencia con un guion bajo antes de este. Por ejemplo, el primer script que ejecute tendrá el nombre `__run` y el segundo el nombre `__run_2`. Del mismo modo, la segunda invocación de `actions/checkout` será `actionscheckout2`. | +| `github.action_path` | `string` | La ruta donde se ubica una acción. Esta propiedad solo es compatible en las acciones compuestas. Puedes utilizar esta ruta para acceder a los archivos que se ubican en el mismo repositorio que la acción. | +| `github.action_ref` | `string` | En el caso de un paso que ejecuta una acción, esta es la ref de la acción que se está ejecutando. Por ejemplo: `v2`. | +| `github.action_repository` | `string` | En el caso de un paso que ejecuta una acción, este es el propietario y el nombre de repositorio de la acción. Por ejemplo: `actions/checkout`. | +| `github.action_status` | `string` | Para una acción compuesta, el resultado actual de la acción compuesta. | +| `github.actor` | `string` | {% ifversion actions-stable-actor-ids %}Nombre del usuario que ha desencadenado la ejecución inicial del flujo de trabajo. Si la ejecución del flujo de trabajo es una repetición, este valor puede ser distinto de `github.triggering_actor`. Cualquier repetición de la ejecución de flujo de trabajo usará los privilegios de `github.actor`, incluso si el actor que inicia la repetición (`github.triggering_actor`) tiene otros privilegios.{% else %}Nombre del usuario que ha iniciado la ejecución del flujo de trabajo.{% endif %} | +| `github.api_url` | `string` | La URL de la API de REST de {% data variables.product.prodname_dotcom %}. | +| `github.base_ref` | `string` | `base_ref` o rama destino de la solicitud de incorporación de cambios en una ejecución de flujo de trabajo. Esta propiedad solo está disponible cuando el evento que desencadena una ejecución de flujo de trabajo es `pull_request` o `pull_request_target`. | +| `github.env` | `string` | La ruta en el ejecutor del archivo que configura las variables de ambiente desde los comandos del flujo de trabajo. Este archivo es único para el paso actual y es un archivo diferente para cada paso en un job. Para más información, vea "[Comandos de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#setting-an-environment-variable)". | +| `github.event` | `object` | La carga de webhook del evento completo. "Puedes acceder a propiedades individuales del evento que utiliza este contexto. El objeto es idéntico a la carga útil de webhook del evento que activó la ejecución de flujo de trabajo y es diferente para cada evento. Los webhooks de cada evento {% data variables.product.prodname_actions %} están vinculados en "[Eventos que desencadenan flujos de trabajo](/articles/events-that-trigger-workflows/)". Por ejemplo, para una ejecución de flujo de trabajo desencadenada por el [evento `push`](/actions/using-workflows/events-that-trigger-workflows#push), este objeto contiene el contenido de la [carga del webhook de inserción](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). | +| `github.event_name` | `string` | El nombre del evento que activó la ejecución del flujo de trabajo. | +| `github.event_path` | `string` | La ruta al archivo en el ejecutor que contiene toda la carga útil del webhook del evento. | +| `github.graphql_url` | `string` | La URL de la API de GraphQL de {% data variables.product.prodname_dotcom %}. | +| `github.head_ref` | `string` | `head_ref` o rama de origen de la solicitud de incorporación de cambios en una ejecución de flujo de trabajo. Esta propiedad solo está disponible cuando el evento que desencadena una ejecución de flujo de trabajo es `pull_request` o `pull_request_target`. | +| `github.job` | `string` | El valor [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) del trabajo actual.
Nota: El ejecutor de acciones establece esta propiedad del contexto, la que solo está disponible dentro de los `steps` de ejecución de un trabajo. De lo contrario, el valor de esta propiedad será `null`. | | `github.ref` | `string` | {% data reusables.actions.ref-description %} | -{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %} -| `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} | -| `github.ref_protected` | `string` | {% data reusables.actions.ref_protected-description %} | -| `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} | -{%- endif %} -| `github.path` | `string` | Path on the runner to the file that sets system `PATH` variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path)." | -| `github.repository` | `string` | The owner and repository name. For example, `Codertocat/Hello-World`. | -| `github.repository_owner` | `string` | The repository owner's name. For example, `Codertocat`. | -| `github.repositoryUrl` | `string` | The Git URL to the repository. For example, `git://github.com/codertocat/hello-world.git`. | -| `github.retention_days` | `string` | The number of days that workflow run logs and artifacts are kept. | -| `github.run_id` | `string` | {% data reusables.actions.run_id_description %} | -| `github.run_number` | `string` | {% data reusables.actions.run_number_description %} | -{%- ifversion fpt or ghec or ghes > 3.5 or ghae-issue-4722 %} -| `github.run_attempt` | `string` | A unique number for each attempt of a particular workflow run in a repository. This number begins at 1 for the workflow run's first attempt, and increments with each re-run. | -{%- endif %} -| `github.server_url` | `string` | The URL of the GitHub server. For example: `https://github.com`. | -| `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | -| `github.token` | `string` | A token to authenticate on behalf of the GitHub App installed on your repository. This is functionally equivalent to the `GITHUB_TOKEN` secret. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)."
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. |{% ifversion actions-stable-actor-ids %} -| `github.triggering_actor` | `string` | The username of the user that initiated the workflow run. If the workflow run is a re-run, this value may differ from `github.actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges. |{% endif %} -| `github.workflow` | `string` | The name of the workflow. If the workflow file doesn't specify a `name`, the value of this property is the full path of the workflow file in the repository. | -| `github.workspace` | `string` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %} | `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} | | `github.ref_protected` | `string` | {% data reusables.actions.ref_protected-description %} | | `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} | {%- endif %} | `github.path` | `string` | Ruta en el ejecutor al archivo que establece las variables del sistema `PATH` a partir de comandos de flujo de trabajo. Este archivo es único para el paso actual y es un archivo diferente para cada paso en un job. Para más información, vea "[Comandos de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path)". | | `github.repository` | `string` | Propietario y nombre del repositorio. Por ejemplo: `Codertocat/Hello-World`. | | `github.repository_owner` | `string` | Nombre del propietario del repositorio. Por ejemplo: `Codertocat`. | | `github.repositoryUrl` | `string` | URL de Git al repositorio. Por ejemplo: `git://github.com/codertocat/hello-world.git`. | | `github.retention_days` | `string` | Número de días que se conservan los registros y artefactos de ejecución del flujo de trabajo. | | `github.run_id` | `string` | {% data reusables.actions.run_id_description %} | | `github.run_number` | `string` | {% data reusables.actions.run_number_description %} | {%- ifversion fpt or ghec or ghes > 3.5 or ghae-issue-4722 %} | `github.run_attempt` | `string` | Número único para cada intento de una ejecución de flujo de trabajo concreta en un repositorio. Este número comienza en 1 para el primer intento de ejecución del flujo de trabajo e incrementa con cada re-ejecución. | {%- endif %} | `github.server_url` | `string` | URL del servidor de GitHub. Por ejemplo: `https://github.com`. | | `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | | `github.token` | `string` | Un token para autenticarse en nombre de la aplicación de GitHub instalada en el repositorio. Esto es funcionalmente equivalente al secreto `GITHUB_TOKEN`. Para más información, vea "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)".
Nota: El ejecutor de acciones establece esta propiedad del contexto, la que solo está disponible dentro de los `steps` de ejecución de un trabajo. De lo contrario, el valor de esta propiedad será `null`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | Nombre del usuario que ha iniciado la ejecución del flujo de trabajo. Si la ejecución del flujo de trabajo es una repetición, este valor puede ser distinto de `github.actor`. Todas las repeticiones de ejecución de flujo de trabajo usarán los privilegios de `github.actor`, incluso si el actor que inicia la repetición de la ejecución (`github.triggering_actor`) tiene otros privilegios. |{% endif %} | `github.workflow` | `string` | Nombre del flujo de trabajo. Si el archivo de flujo de trabajo no especifica `name`, el valor de esta propiedad es la ruta completa del archivo del flujo de trabajo en el repositorio. | | `github.workspace` | `string` | Directorio de trabajo predeterminado en el ejecutor para los pasos y la ubicación predeterminada del repositorio al usar la acción [`checkout`](https://github.com/actions/checkout). | -### Example contents of the `github` context +### Contenido de ejemplo del contexto `github` -The following example context is from a workflow run triggered by the `push` event. The `event` object in this example has been truncated because it is identical to the contents of the [`push` webhook payload](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). +El siguiente contexto de ejemplo procede de una ejecución de flujo de trabajo desencadenada por el evento `push`. El objeto `event` de este ejemplo se ha truncado porque es idéntico al contenido de la [carga del webhook `push`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). {% data reusables.actions.context-example-note %} @@ -262,9 +235,9 @@ The following example context is from a workflow run triggered by the `push` eve } ``` -### Example usage of the `github` context +### Ejemplo de uso del contexto `github` -This example workflow uses the `github.event_name` context to run a job only if the workflow run was triggered by the `pull_request` event. +En este flujo de trabajo de ejemplo se usa el contexto `github.event_name` para ejecutar un trabajo solo si el evento `pull_request` ha desencadenado la ejecución del flujo de trabajo. ```yaml{:copy} name: Run CI @@ -287,22 +260,22 @@ jobs: run: ./run-additional-pr-ci ``` -## `env` context +## Contexto `env` -The `env` context contains environment variables that have been set in a workflow, job, or step. For more information about setting environment variables in your workflow, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)." +El contexto `env` contiene las variables de entorno que se han establecido en un flujo de trabajo, trabajo o paso. Para más información sobre cómo establecer variables de entorno en el flujo de trabajo, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)". -The `env` context syntax allows you to use the value of an environment variable in your workflow file. You can use the `env` context in the value of any key in a step except for the `id` and `uses` keys. For more information on the step syntax, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)." +La sintaxis del contexto `env` permite usar el valor de una variable de entorno en el archivo de flujo de trabajo. Puede usar el contexto `env` en el valor de cualquier clave de un paso, excepto para las claves `id` y `uses`. Para más información sobre la sintaxis de pasos, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)". -If you want to use the value of an environment variable inside a runner, use the runner operating system's normal method for reading environment variables. +Si quieres usar el valor de una variable de entorno dentro de un ejecutor, usa el método normal del sistema operativo del ejecutor para leer las variables de entorno. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `env` | `object` | This context changes for each step in a job. You can access this context from any step in a job. This object contains the properties listed below. | -| `env.` | `string` | The value of a specific environment variable. | +| `env` | `object` | Este contexto cambia para cada paso de un trabajo. Puedes acceder a este contexto desde cualquier paso de un trabajo. Este objeto contiene las propiedades que se listan a continuación. | +| `env.` | `string` | El valor de una variable de entorno específica. | -### Example contents of the `env` context +### Contenido de ejemplo del contexto `env` -The contents of the `env` context is a mapping of environment variable names to their values. The context's contents can change depending on where it is used in the workflow run. +El contenido del contexto `env` es una asignación de nombres de variable de entorno a sus valores. El contenido del contexto puede cambiar dependiendo de dónde se utiliza en la ejecución de flujo de trabajo. ```json { @@ -311,9 +284,9 @@ The contents of the `env` context is a mapping of environment variable names to } ``` -### Example usage of the `env` context +### Ejemplo de uso del contexto `env` -This example workflow shows how the `env` context can be configured at the workflow, job, and step levels, as well as using the context in steps. +En este flujo de trabajo de ejemplo se muestra cómo se puede configurar el contexto `env` en los niveles de flujo de trabajo, trabajo y pasos, así como el uso del contexto en los pasos. {% data reusables.repositories.actions-env-var-note %} @@ -342,25 +315,25 @@ jobs: ``` {% endraw %} -## `job` context +## Contexto `job` -The `job` context contains information about the currently running job. +El contexto `job` contiene información sobre el trabajo actual en ejecución. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `job` | `object` | This context changes for each job in a workflow run. You can access this context from any step in a job. This object contains all the properties listed below. | -| `job.container` | `object` | Information about the job's container. For more information about containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer)." | -| `job.container.id` | `string` | The ID of the container. | -| `job.container.network` | `string` | The ID of the container network. The runner creates the network used by all containers in a job. | -| `job.services` | `object` | The service containers created for a job. For more information about service containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idservices)." | -| `job.services..id` | `string` | The ID of the service container. | -| `job.services..network` | `string` | The ID of the service container network. The runner creates the network used by all containers in a job. | -| `job.services..ports` | `object` | The exposed ports of the service container. | -| `job.status` | `string` | The current status of the job. Possible values are `success`, `failure`, or `cancelled`. | +| `job` | `object` | Este contexto cambia para cada trabajo de una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier paso de un trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `job.container` | `object` | Información sobre el contenedor del trabajo. Para más información sobre los contenedores, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer)". | +| `job.container.id` | `string` | La ID del contenedor. | +| `job.container.network` | `string` | La ID de la red del contenedor. El ejecutor crea la red usada por todos los contenedores en un trabajo. | +| `job.services` | `object` | Los contenedores de servicios creados para un trabajo. Para más información sobre los contenedores de servicio, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idservices)". | +| `job.services..id` | `string` | La ID del contenedor de servicio. | +| `job.services..network` | `string` | La ID de la red de contenedor de servicio. El ejecutor crea la red usada por todos los contenedores en un trabajo. | +| `job.services..ports` | `object` | Los puertos expuestos del contenedor del servicio. | +| `job.status` | `string` | Estado actual del trabajo. Los valores posibles son `success`, `failure` o `cancelled`. | -### Example contents of the `job` context +### Contenido de ejemplo del contexto `job` -This example `job` context uses a PostgreSQL service container with mapped ports. If there are no containers or service containers used in a job, the `job` context only contains the `status` property. +En este contexto `job` de ejemplo se usa un contenedor de servicio de PostgreSQL con puertos asignados. Si en un trabajo no se usan contenedores ni contenedores de servicio, el contexto `job` solo contiene la propiedad `status`. ```json { @@ -380,9 +353,9 @@ This example `job` context uses a PostgreSQL service container with mapped ports } ``` -### Example usage of the `job` context +### Ejemplo de uso del contexto `job` -This example workflow configures a PostgreSQL service container, and automatically maps port 5432 in the service container to a randomly chosen available port on the host. The `job` context is used to access the number of the port that was assigned on the host. +Este flujo de trabajo de ejemplo configura un contenedor de servicio de PostgreSQL y, automáticamente, mapea el puerto 5432 en el contenedor de servicio a un puerto disponible elegido aleatoriamente en el host. El contexto `job` se usa para acceder al número del puerto que se ha asignado en el host. ```yaml{:copy} name: PostgreSQL Service Example @@ -408,20 +381,20 @@ jobs: {% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} -## `jobs` context +## Contexto `jobs` -The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." +El `jobs` contexto solo está disponible en flujos de trabajo reutilizables y solo se puede usar para establecer salidas para un flujo de trabajo reutilizable. Para más información, vea "[Reutilización de flujos de trabajo](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `jobs` | `object` | This is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. This object contains all the properties listed below. -| `jobs..result` | `string` | The result of a job in the reusable workflow. Possible values are `success`, `failure`, `cancelled`, or `skipped`. | -| `jobs..outputs` | `object` | The set of outputs of a job in a reusable workflow. | -| `jobs..outputs.` | `string` | The value of a specific output for a job in a reusable workflow. | +| `jobs` | `object` | Esto solo está disponible en flujos de trabajo reutilizables y solo se puede usar para establecer salidas para un flujo de trabajo reutilizable. Este objeto contiene todas las propiedades que se listan debajo. +| `jobs..result` | `string` | El resultado de un trabajo en el flujo de trabajo reutilizable. Los valores posibles son `success`, `failure`, `cancelled` o `skipped`. | +| `jobs..outputs` | `object` | Conjunto de salidas de un trabajo en un flujo de trabajo reutilizable. | +| `jobs..outputs.` | `string` | El valor de una salida específica para un trabajo en un flujo de trabajo reutilizable. | -### Example contents of the `jobs` context +### Contenido de ejemplo del contexto `jobs` -This example `jobs` context contains the result and outputs of a job from a reusable workflow run. +Este contexto `jobs` de ejemplo contiene el resultado y las salidas de un trabajo a partir de una ejecución de flujo de trabajo reutilizable. ```json { @@ -435,9 +408,9 @@ This example `jobs` context contains the result and outputs of a job from a reus } ``` -### Example usage of the `jobs` context +### Ejemplo de uso del contexto `jobs` -This example reusable workflow uses the `jobs` context to set outputs for the reusable workflow. Note how the outputs flow up from the steps, to the job, then to the `workflow_call` trigger. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." +Este flujo de trabajo reutilizable de ejemplo usa el contexto `jobs` para establecer salidas para el flujo de trabajo reutilizable. Observa cómo las salidas fluyen desde los pasos hasta el trabajo y, a continuación, al desencadenador `workflow_call`. Para más información, vea "[Reutilización de flujos de trabajo](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". {% raw %} ```yaml{:copy} @@ -472,21 +445,21 @@ jobs: {% endif %} -## `steps` context +## Contexto `steps` -The `steps` context contains information about the steps in the current job that have an [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) specified and have already run. +El contexto `steps` contiene información sobre los pasos del trabajo actual en los que se ha especificado [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) y ya se han ejecutado. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `steps` | `object` | This context changes for each step in a job. You can access this context from any step in a job. This object contains all the properties listed below. | -| `steps..outputs` | `object` | The set of outputs defined for the step. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions)." | -| `steps..conclusion` | `string` | The result of a completed step after [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. | -| `steps..outcome` | `string` | The result of a completed step before [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. | -| `steps..outputs.` | `string` | The value of a specific output. | +| `steps` | `object` | Este contexto cambia para cada paso de un trabajo. Puedes acceder a este contexto desde cualquier paso de un trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `steps..outputs` | `object` | El conjunto de salidas definido para el paso. Para más información, vea "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions)". | +| `steps..conclusion` | `string` | El resultado de un paso completado después de aplicar [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error). Los valores posibles son `success`, `failure`, `cancelled` o `skipped`. Cuando se produce un error en un paso `continue-on-error`, `outcome` es `failure`, pero el valor `conclusion` final es `success`. | +| `steps..outcome` | `string` | El resultado de un paso completado antes de aplicar [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error). Los valores posibles son `success`, `failure`, `cancelled` o `skipped`. Cuando se produce un error en un paso `continue-on-error`, `outcome` es `failure`, pero el valor `conclusion` final es `success`. | +| `steps..outputs.` | `string` | El valor de un resultado específico. | -### Example contents of the `steps` context +### Contenido de ejemplo del contexto `steps` -This example `steps` context shows two previous steps that had an [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) specified. The first step had the `id` named `checkout`, the second `generate_number`. The `generate_number` step had an output named `random_number`. +En este contexto `steps` de ejemplo se muestran dos pasos anteriores en los que se ha especificado [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid). El primer paso tenía el `id` denominado `checkout`, el segundo `generate_number`. El paso `generate_number` tenía una salida denominada `random_number`. ```json { @@ -505,9 +478,9 @@ This example `steps` context shows two previous steps that had an [`id`](/action } ``` -### Example usage of the `steps` context +### Ejemplo de uso del contexto `steps` -This example workflow generates a random number as an output in one step, and a later step uses the `steps` context to read the value of that output. +En este flujo de trabajo de ejemplo se genera un número aleatorio como salida en un paso y, en un paso posterior se usa el contexto `steps` para leer el valor de esa salida. ```yaml{:copy} name: Generate random failure @@ -526,13 +499,13 @@ jobs: if [[ {% raw %}${{ steps.generate_number.outputs.random_number }}{% endraw %} == 0 ]]; then exit 0; else exit 1; fi ``` -## `runner` context +## Contexto `runner` -The `runner` context contains information about the runner that is executing the current job. +El contexto `runner` contiene información sobre el ejecutor que ejecuta el trabajo actual. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `runner` | `object` | This context changes for each job in a workflow run. This object contains all the properties listed below. | +| `runner` | `object` | Este contexto cambia para cada trabajo de una ejecución de flujo de trabajo. Este objeto contiene todas las propiedades que se listan debajo. | | `runner.name` | `string` | {% data reusables.actions.runner-name-description %} | | `runner.os` | `string` | {% data reusables.actions.runner-os-description %} |{% ifversion actions-runner-arch-envvars %} | `runner.arch` | `string` | {% data reusables.actions.runner-arch-description %} |{% endif %} @@ -540,14 +513,12 @@ The `runner` context contains information about the runner that is executing the | `runner.tool_cache` | `string` | {% ifversion ghae %}{% data reusables.actions.self-hosted-runners-software %} {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}| | `runner.debug` | `string` | {% data reusables.actions.runner-debug-description %} | -{%- comment %} -The `runner.workspace` property is purposefully not documented. It is an early Actions property that now isn't relevant for users, compared to `github.workspace`. It is kept around for compatibility. -| `runner.workspace` | `string` | | -{%- endcomment %} +{%- comment %} La propiedad La `runner.workspace` propiedad no está documentada correctamente no está documentada correctamente. Es una propiedad anterior de Acciones que ahora no es pertinente para los usuarios, en comparación con `github.workspace`. Esta se mantiene por compatibilidad. +| `runner.workspace` | `string` | | {%- endcomment %} -### Example contents of the `runner` context +### Contenido de ejemplo del contexto `runner` -The following example context is from a Linux {% data variables.product.prodname_dotcom %}-hosted runner. +El siguiente contexto de ejemplo es de un ejecutor Linux hospedado en {% data variables.product.prodname_dotcom %}. ```json { @@ -563,9 +534,9 @@ The following example context is from a Linux {% data variables.product.prodname } ``` -### Example usage of the `runner` context +### Ejemplo de uso del contexto `runner` -This example workflow uses the `runner` context to set the path to the temporary directory to write logs, and if the workflow fails, it uploads those logs as artifact. +En este flujo de trabajo de ejemplo se usa el contexto `runner` a fin de configurar la ruta al directorio temporal para escribir registros y, si se produce un error en el flujo de trabajo, los carga como artefacto. ```yaml{:copy} name: Build @@ -588,23 +559,23 @@ jobs: path: {% raw %}${{ runner.temp }}{% endraw %}/build_logs ``` -## `secrets` context +## Contexto `secrets` -The `secrets` context contains the names and values of secrets that are available to a workflow run. The `secrets` context is not available for composite actions. For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +El contexto `secrets` contiene los nombres y valores de los secretos disponibles para una ejecución de flujo de trabajo. El contexto `secrets` no está disponible para acciones compuestas. Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". -`GITHUB_TOKEN` is a secret that is automatically created for every workflow run, and is always included in the `secrets` context. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." +`GITHUB_TOKEN` es un secreto que se crea automáticamente para cada ejecución de flujo de trabajo y siempre se incluye en el contexto `secrets`. Para más información, vea "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". {% data reusables.actions.secrets-redaction-warning %} -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `secrets` | `object` | This context is the same for each job in a workflow run. You can access this context from any step in a job. This object contains all the properties listed below. | -| `secrets.GITHUB_TOKEN` | `string` | Automatically created token for each workflow run. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." | -| `secrets.` | `string` | The value of a specific secret. | +| `secrets` | `object` | Este contexto es el mismo para cada job en una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier paso de un trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `secrets.GITHUB_TOKEN` | `string` | Token creado automáticamente para cada ejecución de flujo de trabajo. Para más información, vea "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". | +| `secrets.` | `string` | El valor de un secreto específico. | -### Example contents of the `secrets` context +### Contenido de ejemplo del contexto `secrets` -The following example contents of the `secrets` context shows the automatic `GITHUB_TOKEN`, as well as two other secrets available to the workflow run. +En el contenido de ejemplo siguiente del contexto `secrets` se muestra el valor `GITHUB_TOKEN` automático, así como otros dos secretos disponibles para la ejecución del flujo de trabajo. ```json { @@ -614,25 +585,25 @@ The following example contents of the `secrets` context shows the automatic `GIT } ``` -### Example usage of the `secrets` context +### Ejemplo de uso del contexto `secrets` {% data reusables.actions.github_token-input-example %} -## `strategy` context +## Contexto `strategy` -For workflows with a matrix, the `strategy` context contains information about the matrix execution strategy for the current job. +Para los flujos de trabajo con una matriz, el contexto `strategy` contiene información sobre la estrategia de ejecución de matrices para el trabajo actual. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `strategy` | `object` | This context changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains all the properties listed below. | -| `strategy.fail-fast` | `string` | When `true`, all in-progress jobs are canceled if any job in a matrix fails. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast)." | -| `strategy.job-index` | `string` | The index of the current job in the matrix. **Note:** This number is a zero-based number. The first job's index in the matrix is `0`. | -| `strategy.job-total` | `string` | The total number of jobs in the matrix. **Note:** This number **is not** a zero-based number. For example, for a matrix with four jobs, the value of `job-total` is `4`. | -| `strategy.max-parallel` | `string` | The maximum number of jobs that can run simultaneously when using a `matrix` job strategy. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel)." | +| `strategy` | `object` | Este contexto cambia para cada trabajo de una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier job o paso en un flujo de trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `strategy.fail-fast` | `string` | Cuando es `true`, todos los trabajos en curso se cancelan si se produce un error en algún trabajo de una matriz. Para más información, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast)". | +| `strategy.job-index` | `string` | El índice del trabajo actual en la matriz. **Nota:** Este número es un número de base cero. El índice del primer trabajo en la matriz es `0`. | +| `strategy.job-total` | `string` | El número total de trabajos en la matriz. **Nota:** Este número **no es** un número de base cero. Por ejemplo, para una matriz con cuatro trabajos, el valor de `job-total` es `4`. | +| `strategy.max-parallel` | `string` | El número máximo de trabajos que se pueden ejecutar simultáneamente al usar una estrategia de trabajo `matrix`. Para más información, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel)". | -### Example contents of the `strategy` context +### Contenido de ejemplo del contexto `strategy` -The following example contents of the `strategy` context is from a matrix with four jobs, and is taken from the final job. Note the difference between the zero-based `job-index` number, and `job-total` which is not zero-based. +El contenido de ejemplo siguiente del contexto `strategy` procede de una matriz con cuatro trabajos y se toma del trabajo final. Observe la diferencia entre el número `job-index` de base cero y `job-total`, que no es de base cero. ```json { @@ -643,9 +614,9 @@ The following example contents of the `strategy` context is from a matrix with f } ``` -### Example usage of the `strategy` context +### Ejemplo de uso del contexto `strategy` -This example workflow uses the `strategy.job-index` property to set a unique name for a log file for each job in a matrix. +En este flujo de trabajo de ejemplo se usa la propiedad `strategy.job-index` a fin de establecer un nombre único para un archivo de registro para cada trabajo de una matriz. ```yaml{:copy} name: Test matrix @@ -668,20 +639,20 @@ jobs: path: test-job-{% raw %}${{ strategy.job-index }}{% endraw %}.txt ``` -## `matrix` context +## Contexto `matrix` -For workflows with a matrix, the `matrix` context contains the matrix properties defined in the workflow file that apply to the current job. For example, if you configure a matrix with the `os` and `node` keys, the `matrix` context object includes the `os` and `node` properties with the values that are being used for the current job. +Para los flujos de trabajo con una matriz, el contexto `matrix` contiene las propiedades de matriz definidas en el archivo de flujo de trabajo que se aplican al trabajo actual. Por ejemplo, si configuras una matriz con las claves `os` y `node`, el objeto de contexto `matrix` incluye las propiedades `os` y `node` con los valores que se usan para el trabajo actual. -There are no standard properties in the `matrix` context, only those which are defined in the workflow file. +No hay propiedades estándar en el contexto `matrix`, solo las definidas en el archivo de flujo de trabajo. -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `matrix` | `object` | This context is only available for jobs in a matrix, and changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains the properties listed below. | -| `matrix.` | `string` | The value of a matrix property. | +| `matrix` | `object` | Este contexto solo está disponible para los trabajos de una matriz y cambia para cada trabajo en una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier job o paso en un flujo de trabajo. Este objeto contiene las propiedades que se listan a continuación. | +| `matrix.` | `string` | El valor de una propiedad de matriz. | -### Example contents of the `matrix` context +### Contenido de ejemplo del contexto `matrix` -The following example contents of the `matrix` context is from a job in a matrix that has the `os` and `node` matrix properties defined in the workflow. The job is executing the matrix combination of an `ubuntu-latest` OS and Node.js version `16`. +El contenido de ejemplo siguiente del contexto `matrix` procede de un trabajo de una matriz que tiene las propiedades de matriz `os` y `node` definidas en el flujo de trabajo. El trabajo ejecuta la combinación de matriz de un sistema operativo `ubuntu-latest` y la versión `16` de Node.js. ```json { @@ -690,9 +661,9 @@ The following example contents of the `matrix` context is from a job in a matrix } ``` -### Example usage of the `matrix` context +### Ejemplo de uso del contexto `matrix` -This example workflow creates a matrix with `os` and `node` keys. It uses the `matrix.os` property to set the runner type for each job, and uses the `matrix.node` property to set the Node.js version for each job. +Este flujo de trabajo de ejemplo crea una matriz con las claves `os` y `node`. Usa la propiedad `matrix.os` para establecer el tipo de ejecutor para cada trabajo y la propiedad `matrix.node` a fin de establecer la versión de Node.js para cada trabajo. ```yaml{:copy} name: Test matrix @@ -716,21 +687,21 @@ jobs: run: npm test ``` -## `needs` context +## Contexto `needs` -The `needs` context contains outputs from all jobs that are defined as a dependency of the current job. For more information on defining job dependencies, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds)." +El contexto `needs` contiene salidas de todos los trabajos que se definen como una dependencia del trabajo actual. Para más información sobre la definición de dependencias de trabajos, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds)". -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `needs` | `object` | This context is only populated for workflow runs that have dependent jobs, and changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains all the properties listed below. | -| `needs.` | `object` | A single job that the current job depends on. | -| `needs..outputs` | `object` | The set of outputs of a job that the current job depends on. | -| `needs..outputs.` | `string` | The value of a specific output for a job that the current job depends on. | -| `needs..result` | `string` | The result of a job that the current job depends on. Possible values are `success`, `failure`, `cancelled`, or `skipped`. | +| `needs` | `object` | Este contexto solo se llena con ejecuciones de flujo de trabajo que tienen jobs dependientes y cambios para cada job en una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier job o paso en un flujo de trabajo. Este objeto contiene todas las propiedades que se listan debajo. | +| `needs.` | `object` | Un solo job del cual depende el job actual. | +| `needs..outputs` | `object` | El conjunto de resultados de un job del cual depende el job actual. | +| `needs..outputs.` | `string` | El valor de un resultado específico para un job del cual depende el job actual. | +| `needs..result` | `string` | El resultado de un job del cual depende el job actual. Los valores posibles son `success`, `failure`, `cancelled` o `skipped`. | -### Example contents of the `needs` context +### Contenido de ejemplo del contexto `needs` -The following example contents of the `needs` context shows information for two jobs that the current job depends on. +En el contenido de ejemplo siguiente del contexto `needs` se muestra información para dos trabajos de los que depende el trabajo actual. ```json { @@ -747,9 +718,9 @@ The following example contents of the `needs` context shows information for two } ``` -### Example usage of the `needs` context +### Ejemplo de uso del contexto `needs` -This example workflow has three jobs: a `build` job that does a build, a `deploy` job that requires the `build` job, and a `debug` job that requires both the `build` and `deploy` jobs and runs only if there is a failure in the workflow. The `deploy` job also uses the `needs` context to access an output from the `build` job. +Este flujo de trabajo de ejemplo tiene tres trabajos: un trabajo `build` que realiza una compilación, un trabajo `deploy` que necesita el trabajo `build` y un trabajo `debug` que necesita los trabajos `build` y `deploy`, y que solo se ejecuta si se produce un error en el flujo de trabajo. El trabajo `deploy` también usa el contexto `needs` para acceder a una salida del trabajo `build`. ```yaml{:copy} name: Build and deploy @@ -783,22 +754,22 @@ jobs: ``` {% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} -## `inputs` context +## Contexto `inputs` -The `inputs` context contains input properties passed to a reusable workflow{% ifversion actions-unified-inputs %} or to a manually triggered workflow{% endif %}. {% ifversion actions-unified-inputs %}For reusable workflows, the{% else %}The{% endif %} input names and types are defined in the [`workflow_call` event configuration](/actions/learn-github-actions/events-that-trigger-workflows#workflow-reuse-events) of a reusable workflow, and the input values are passed from [`jobs..with`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idwith) in an external workflow that calls the reusable workflow. {% ifversion actions-unified-inputs %}For manually triggered workflows, the inputs are defined in the [`workflow_dispatch` event configuration](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch) of a workflow.{% endif %} +El contexto `inputs` contiene propiedades de entrada pasadas a un flujo de trabajo reutilizable{% ifversion actions-unified-inputs %} o a un flujo de trabajo manualmente desencadenado{% endif %}. {% ifversion actions-unified-inputs %}En el caso de los flujos de trabajo reutilizables, los{% else %}Los{% endif %} tipos y nombres de entrada están definidos en la [`workflow_call`configuración del evento](/actions/learn-github-actions/events-that-trigger-workflows#workflow-reuse-events) de un flujo de trabajo reutilizable y los valores de entrada se pasan desde [`jobs..with`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idwith) en un flujo de trabajo externo que llama al flujo de trabajo reutilizable. {% ifversion actions-unified-inputs %}En el caso de los flujos de trabajo manualmente desencadenados, las entradas se define en la [`workflow_dispatch`configuración del evento](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch) de un flujo de trabajo.{% endif %} -There are no standard properties in the `inputs` context, only those which are defined in the workflow file. +No hay propiedades estándar en el contexto `inputs`, solo las definidas en el archivo de flujo de trabajo. {% data reusables.actions.reusable-workflows-ghes-beta %} -| Property name | Type | Description | +| Nombre de propiedad | Tipo | Descripción | |---------------|------|-------------| -| `inputs` | `object` | This context is only available in a [reusable workflow](/actions/learn-github-actions/reusing-workflows){% ifversion actions-unified-inputs %} or in a workflow triggered by the [`workflow_dispatch` event](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch){% endif %}. You can access this context from any job or step in a workflow. This object contains the properties listed below. | -| `inputs.` | `string` or `number` or `boolean` | Each input value passed from an external workflow. | +| `inputs` | `object` | Este contexto solo está disponible en un [flujo de trabajo reutilizable](/actions/learn-github-actions/reusing-workflows){% ifversion actions-unified-inputs %} o en un flujo de trabajo desencadenado por el [`workflow_dispatch`evento](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch) {% endif %}. Puedes acceder a este contexto desde cualquier job o paso en un flujo de trabajo. Este objeto contiene las propiedades que se listan a continuación. | +| `inputs.` | `string`, `number` o `boolean` | Cada valor de entrada que pasa desde un flujo de trabajo externo. | -### Example contents of the `inputs` context +### Contenido de ejemplo del contexto `inputs` -The following example contents of the `inputs` context is from a workflow that has defined the `build_id`, `deploy_target`, and `perform_deploy` inputs. +El contenido de ejemplo siguiente del contexto `inputs` proviene de un flujo de trabajo que tiene definidas las entradas `build_id`, `deploy_target` y `perform_deploy`. ```json { @@ -808,9 +779,9 @@ The following example contents of the `inputs` context is from a workflow that h } ``` -### Example usage of the `inputs` context in a reusable workflow +### Ejemplo de uso del contexto `inputs` en un flujo de trabajo reutilizable -This example reusable workflow uses the `inputs` context to get the values of the `build_id`, `deploy_target`, and `perform_deploy` inputs that were passed to the reusable workflow from the caller workflow. +En este flujo de trabajo reutilizable de ejemplo, se usa el contexto `inputs` para obtener los valores de las entradas `build_id`, `deploy_target` y `perform_deploy` que se pasaron al flujo de trabajo reutilizable desde el flujo de trabajo del autor de la llamada. {% raw %} ```yaml{:copy} @@ -839,9 +810,9 @@ jobs: {% endraw %} {% ifversion actions-unified-inputs %} -### Example usage of the `inputs` context in a manually triggered workflow +### Ejemplo del uso del contexto `inputs` en un flujo de trabajo manualmente desencadenado -This example workflow triggered by a `workflow_dispatch` event uses the `inputs` context to get the values of the `build_id`, `deploy_target`, and `perform_deploy` inputs that were passed to the workflow. +En este flujo de trabajo de ejemplo desencadenado por un evento`workflow_dispatch`, se usa el contexto `inputs` para obtener los valores de las entradas `build_id`, `deploy_target` y `perform_deploy` que se pasaron al flujo de trabajo. {% raw %} ```yaml{:copy} @@ -866,7 +837,6 @@ jobs: - name: Deploy build to target run: deploy --build ${{ inputs.build_id }} --target ${{ inputs.deploy_target }} ``` -{% endraw %} -{% endif %} +{% endraw %} {% endif %} {% endif %} diff --git a/translations/es-ES/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md b/translations/es-ES/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md index 5494598d7a..1952a52db5 100644 --- a/translations/es-ES/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md +++ b/translations/es-ES/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md @@ -7,17 +7,17 @@ versions: type: tutorial shortTitle: 'Controlling access to {% data variables.actions.hosted_runner %}s' ms.openlocfilehash: 6761f05ef04d18ebba7b9ef8a2894d7effd2622b -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: '147764173' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} ## Acerca de grupos de ejecutores -{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}Para obtener más información, consulta la [documentación de {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/actions/using-github-hosted-runners/controlling-access-to-larger-runners).{% endif %} +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}Para obtener más información, consulta la [{% data variables.product.prodname_ghe_cloud %} ](/enterprise-cloud@latest/actions/using-github-hosted-runners/controlling-access-to-larger-runners).{% endif %} {% ifversion ghec or ghes or ghae %} diff --git a/translations/es-ES/content/actions/using-workflows/reusing-workflows.md b/translations/es-ES/content/actions/using-workflows/reusing-workflows.md index 676a5f6f41..0aa23654cd 100644 --- a/translations/es-ES/content/actions/using-workflows/reusing-workflows.md +++ b/translations/es-ES/content/actions/using-workflows/reusing-workflows.md @@ -25,7 +25,13 @@ Rather than copying and pasting from one workflow to another, you can make workf Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proven to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained. -The diagram below shows 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. +The diagram below shows an in-progress workflow run that uses a reusable workflow. + +* After each of three build jobs on the left of the diagram completes successfully, a dependent job called "Deploy" is run. +* The "Deploy" job calls a reusable workflow that contains three jobs: "Staging", "Review", and "Production." +* The "Production" deployment job only runs after the "Staging" job has completed successfully. +* When a job targets an environment, the workflow run displays a progress bar that shows the number of steps in the job. In the diagram below, the "Production" job contains 8 steps, with step 6 currently being processed. +* Using a reusable workflow to run deployment jobs allows you to run those jobs for each build without duplicating code in workflows. ![Diagram of a reusable workflow for deployment](/assets/images/help/images/reusable-workflows-ci-cd.png) diff --git a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md index 6f19a67199..c0e9a5b260 100644 --- a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md +++ b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md @@ -19,10 +19,10 @@ topics: - Notifications shortTitle: Configure email notifications ms.openlocfilehash: d7dd82fa95db462abe8d9d19e8df60a45dab3f0c -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: '147718137' --- {% ifversion ghae %} Los propietarios de la empresa pueden configurar el correo electrónico para las notificaciones. diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index d17cfa8c89..cc5897028f 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -1,7 +1,7 @@ --- -title: SAML configuration reference +title: Referencia de configuración de SAML shortTitle: SAML reference -intro: 'You can see SAML metadata for {% ifversion ghec %}your organization or enterprise on {% data variables.product.product_name %}{% elsif ghes %}{% data variables.product.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %}, and you can learn more about available SAML attributes and response requirements.' +intro: 'Puedes ver los metadatos de SAML para {% ifversion ghec %}tu organización o empresa en {% data variables.product.product_name %}{% elsif ghes %}{% data variables.product.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %} y puedes obtener más información sobre los atributos SAML disponibles y los requisitos de respuesta.' versions: ghec: '*' ghes: '*' @@ -13,82 +13,80 @@ topics: - Enterprise - Identity - SSO +ms.openlocfilehash: 896d1281d28268f669957bfbf0df43d3a1d6a76e +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147683723' --- +## Acerca de la configuración de SAML -## About SAML configuration +Para utilizar el inicio de sesión único (SSO) de SAML para la autenticación en {% data variables.product.product_name %}, debes configurar tanto el proveedor de identidades (IdP) de SAML externo como {% ifversion ghes %}{% data variables.product.product_location %}{% elsif ghec %}la empresa u organización en {% data variables.product.product_location %}{% elsif ghae %}la empresa en {% data variables.product.product_name %}{% endif %}. En una configuración de SAML, {% data variables.product.product_name %} funciona como un proveedor de servicios (SP) de SAML. -To use SAML single sign-on (SSO) for authentication to {% data variables.product.product_name %}, you must configure both your external SAML identity provider (IdP) and {% ifversion ghes %}{% data variables.product.product_location %}{% elsif ghec %}your enterprise or organization on {% data variables.product.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %}. In a SAML configuration, {% data variables.product.product_name %} functions as a SAML service provider (SP). +Debes especificar valores únicos para el IdP de SAML al configurar el inicio de sesión único de SAML para {% data variables.product.product_name %}, y también valores únicos de {% data variables.product.product_name %} en el IdP. Para más información sobre la configuración del inicio de sesión único de SAML para {% data variables.product.product_name %}, consulta "[Configuración del inicio de sesión único de SAML para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise){% ifversion ghes or ghae %}{% elsif ghec %}" o "[Habilitación y prueba del inicio de sesión único de SAML para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization){% endif %}". -You must enter unique values from your SAML IdP when configuring SAML SSO for {% data variables.product.product_name %}, and you must also enter unique values from {% data variables.product.product_name %} on your IdP. For more information about the configuration of SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise){% ifversion ghes or ghae %}{% elsif ghec %}" or "[Enabling and testing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization){% endif %}." - -## SAML metadata +## Metadatos SAML {% ifversion ghec %} -The SP metadata for {% data variables.product.product_name %} is available for either organizations or enterprises with SAML SSO. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. +Los metadatos del proveedor de servicios para {% data variables.product.product_name %} están disponibles para organizaciones o empresas con el inicio de sesión único de SAML. {% data variables.product.product_name %} utiliza el enlace `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST`. -### Organizations +### Las organizaciones -You can configure SAML SSO for an individual organization in your enterprise. You can also configure SAML SSO for an organization if you use an individual organization on {% data variables.product.product_name %} and do not use an enterprise account. For more information, see "[Managing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization)." +Puedes configurar el inicio de sesión único de SAML para una organización individual en la empresa. También puedes configurarlo para una organización si usas una organización individual en {% data variables.product.product_name %} y no una cuenta empresarial. Para más información, vea "[Administración del inicio de sesión único de SAML para la organización](/organizations/managing-saml-single-sign-on-for-your-organization)". -The SP metadata for an organization on {% data variables.product.product_location %} is available at `https://github.com/orgs/ORGANIZATION/saml/metadata`, where **ORGANIZATION** is the name of your organization on {% data variables.product.product_location %}. +Los metadatos del proveedor de servicios para una organización en {% data variables.product.product_location %} están disponibles en `https://github.com/orgs/ORGANIZATION/saml/metadata`, donde **ORGANIZATION** es el nombre de la organización en {% data variables.product.product_location %}. -| Value | Other names | Description | Example | +| Value | Otros nombres | Descripción | Ejemplo | | :- | :- | :- | :- | -| SP Entity ID | SP URL, audience restriction | The top-level URL for your organization on {% data variables.product.product_location %} | `https://github.com/orgs/ORGANIZATION` | -| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://github.com/orgs/ORGANIZATION/saml/consume` | -| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://github.com/orgs/ORGANIZATION/saml/sso` | +| ID de Entidad de SP | URL de SP, restricción de público | URL de nivel superior para la organización en {% data variables.product.product_location %} | `https://github.com/orgs/ORGANIZATION` | +| URL del Servicio de Consumidor de Aserciones (ACS) del SP | URL de destino, destinatario o respuesta | URL a la que el IdP enviará respuestas de SAML | `https://github.com/orgs/ORGANIZATION/saml/consume` | +| URL de inicio de sesión único (SSO) del SP | | URL en donde el IdP comienza con SSO | `https://github.com/orgs/ORGANIZATION/saml/sso` | -### Enterprises +### Empresas -The SP metadata for an enterprise on {% data variables.product.product_location %} is available at `https://github.com/enterprises/ENTERPRISE/saml/metadata`, where **ENTERPRISE** is the name of your enterprise on {% data variables.product.product_location %}. +Los metadatos del proveedor de servicios para una empresa en {% data variables.product.product_location %} están disponibles en `https://github.com/enterprises/ENTERPRISE/saml/metadata`, donde **ENTERPRISE** es el nombre de la empresa en {% data variables.product.product_location %}. -| Value | Other names | Description | Example | +| Value | Otros nombres | Descripción | Ejemplo | | :- | :- | :- | :- | -| SP Entity ID | SP URL, audience restriction | The top-level URL for your enterprise on {% data variables.product.product_location %} | `https://github.com/enterprises/ENTERPRISE` | -| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://github.com/enterprises/ENTERPRISE/saml/consume` | -| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://github.com/enterprises/ENTERPRISE/saml/sso` | +| ID de Entidad de SP | URL de SP, restricción de público | URL de nivel superior para la empresa en {% data variables.product.product_location %} | `https://github.com/enterprises/ENTERPRISE` | +| URL del Servicio de Consumidor de Aserciones (ACS) del SP | URL de destino, destinatario o respuesta | URL a la que el IdP enviará respuestas de SAML | `https://github.com/enterprises/ENTERPRISE/saml/consume` | +| URL de inicio de sesión único (SSO) del SP | | URL en donde el IdP comienza con SSO | `https://github.com/enterprises/ENTERPRISE/saml/sso` | {% elsif ghes %} -The SP metadata for {% data variables.product.product_location %} is available at `http(s)://HOSTNAME/saml/metadata`, where **HOSTNAME** is the hostname for your instance. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. +Los metadatos del proveedor de servicios para {% data variables.product.product_location %} están disponibles en `http(s)://HOSTNAME/saml/metadata`, donde **HOSTNAME** es el nombre de host de la instancia. {% data variables.product.product_name %} utiliza el enlace `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST`. -| Value | Other names | Description | Example | +| Value | Otros nombres | Descripción | Ejemplo | | :- | :- | :- | :- | -| SP Entity ID | SP URL, audience restriction | Your top-level URL for {% data variables.product.product_name %} | `http(s)://HOSTNAME` -| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `http(s)://HOSTNAME/saml/consume` | -| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `http(s)://HOSTNAME/sso` | +| ID de Entidad de SP | URL de SP, restricción de público | URL de nivel superior para {% data variables.product.product_name %} | `http(s)://HOSTNAME` +| URL del Servicio de Consumidor de Aserciones (ACS) del SP | URL de destino, destinatario o respuesta | URL a la que el IdP enviará respuestas de SAML | `http(s)://HOSTNAME/saml/consume` | +| URL de inicio de sesión único (SSO) del SP | | URL en donde el IdP comienza con SSO | `http(s)://HOSTNAME/sso` | {% elsif ghae %} -The SP metadata for your enterprise on {% data variables.product.product_name %} is available at `https://HOSTNAME/saml/metadata`, where **HOSTNAME** is the hostname for your enterprise on {% data variables.product.product_name %}. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. +Los metadatos del proveedor de servicios para la empresa {% data variables.product.product_name %} están disponibles en `https://HOSTNAME/saml/metadata`, donde **HOSTNAME** es el nombre de host para la empresa en {% data variables.product.product_name %}. {% data variables.product.product_name %} utiliza el enlace `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST`. -| Value | Other names | Description | Example | +| Value | Otros nombres | Descripción | Ejemplo | | :- | :- | :- | :- | -| SP Entity ID | SP URL, audience restriction | Your top-level URL for {% data variables.product.product_name %} | `https://HOSTNAME` | -| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://HOSTNAME/saml/consume` | -| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://HOSTNAME/sso` | +| ID de Entidad de SP | URL de SP, restricción de público | URL de nivel superior para {% data variables.product.product_name %} | `https://HOSTNAME` | +| URL del Servicio de Consumidor de Aserciones (ACS) del SP | URL de destino, destinatario o respuesta | URL a la que el IdP enviará respuestas de SAML | `https://HOSTNAME/saml/consume` | +| URL de inicio de sesión único (SSO) del SP | | URL en donde el IdP comienza con SSO | `https://HOSTNAME/sso` | {% endif %} -## SAML attributes +## Atributos de SAML -The following SAML attributes are available for {% data variables.product.product_name %}.{% ifversion ghes %} You can change the attribute names in the management console, with the exception of the `administrator` attribute. For more information, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)."{% endif %} +Los atributos de SAML siguientes están disponibles para {% data variables.product.product_name %}.{% ifversion ghes %} Puedes cambiar los nombres de los atributos en la consola de administración, con la excepción del atributo `administrator`. Para más información, consulta "[Acceso a la consola de administración](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)".{% endif %} -| Name | Required? | Description | +| Nombre | ¿Necesario? | Descripción | | :- | :- | :- | -| `NameID` | Yes | A persistent user identifier. Any persistent name identifier format may be used. {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)."

{% note %}**Note:** It's important to use a human-readable, persistent identifier. Using a transient identifier format like `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` will result in re-linking of accounts on every sign-in, which can be detrimental to authorization management.{% endnote %} | -| `SessionNotOnOrAfter` | No | The date that {% data variables.product.product_name %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Session duration and timeout](#session-duration-and-timeout)." | -{%- ifversion ghes or ghae %} -| `administrator` | No | When the value is `true`, {% data variables.product.product_name %} will automatically promote the user to be a {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %}. Setting this attribute to anything but `true` will result in demotion, as long as the value is not blank. Omitting this attribute or leaving the value blank will not change the role of the user. | -| `username` | No | The username for {% data variables.product.product_location %}. | -{%- endif %} -| `full_name` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} full name of the user to display on the user's profile page. | -| `emails` | No | The email addresses for the user.{% ifversion ghes or ghae %} You can specify more than one address.{% endif %}{% ifversion ghec or ghes %} If you sync license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_github_connect %} uses `emails` to identify unique users across products. For more information, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)."{% endif %} | -| `public_keys` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} public SSH keys for the user. You can specify more than one key. | -| `gpg_keys` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} GPG keys for the user. You can specify more than one key. | +| `NameID` | Sí | Un identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. {% ifversion ghec %}Si usas una empresa con {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} normalizará el elemento `NameID` para utilizarlo como nombre de usuario a menos que se proporcione una de las aserciones alternativas. Para más información, consulta "[Consideraciones sobre el nombre de usuario para la autenticación externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)".

{% note %} **Nota:** Es importante usar un identificador persistente y legible. El uso de un formato de identificador transitorio, como `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`, volverá a vincular las cuentas en cada inicio de sesión, lo que puede ser perjudicial para la administración de la autorización.{% endnote %} | +| `SessionNotOnOrAfter` | No | La fecha en que {% data variables.product.product_name %} invalida la sesión asociada. Después de la invalidación, la persona se debe autenticar nuevamente para acceder a {% ifversion ghec or ghae %}los recursos de la empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Para más información, consulta "[Duración y tiempo de espera de la sesión](#session-duration-and-timeout)". | +{%- ifversion ghes or ghae %} | `administrator` | No | Cuando el valor es `true`, {% data variables.product.product_name %} promoverá automáticamente al usuario para que sea {% ifversion ghes %}administrador del sitio{% elsif ghae %}propietario de la empresa{% endif %}. Establecer este atributo en cualquier valor, excepto `true`, generará una disminución de nivel, siempre que el valor no esté en blanco. Omitir este atributo o dejar el valor en blanco no cambiará el rol del usuario. | | `username` | No | El nombre de usuario para {% data variables.product.product_location %}. | {%- endif %} | `full_name` | No | {% ifversion ghec %}Si configuras el inicio de sesión único de SAML para una empresa y utilizas {% data variables.product.prodname_emus %}, el {% else %}El{% endif %} nombre completo del usuario que se va a mostrar en la página de perfil del usuario. | | `emails` | No | Las direcciones de correo electrónico del usuario.{% ifversion ghes or ghae %} Puedes especificar más de una dirección.{% endif %}{% ifversion ghec or ghes %} Si sincronizas el uso de licencias entre {% data variables.product.prodname_ghe_server %} y {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_github_connect %} utiliza `emails` para identificar usuarios únicos entre productos. Para más información, consulta "[Sincronización del uso de licencias entre {% data variables.product.prodname_ghe_server %} y {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)".{% endif %} | | `public_keys` | No | {% ifversion ghec %}Si configuras el inicio de sesión único de SAML para una empresa y utilizas {% data variables.product.prodname_emus %}, las{% else %}Las{% endif %} claves SSH públicas para el usuario. Puedes especificar más de una clave. | | `gpg_keys` | No | {% ifversion ghec %}Si configuras el inicio de sesión único de SAML para una empresa y utilizas {% data variables.product.prodname_emus %}, las{% else %}Las{% endif %} claves GPG para el usuario. Puedes especificar más de una clave. | -To specify more than one value for an attribute, use multiple `` elements. +A fin de especificar más de un valor para un atributo, use varios elementos ``. ```xml @@ -97,20 +95,20 @@ To specify more than one value for an attribute, use multiple ` ``` -## SAML response requirements +## Requisitos de respuesta de SAML -{% data variables.product.product_name %} requires that the response message from your IdP fulfill the following requirements. +{% data variables.product.product_name %} requiere que el mensaje de respuesta del IdP cumpla con los requisitos siguientes. -- Your IdP must provide the `` element on the root response document and match the ACS URL only when the root response document is signed. If your IdP signs the assertion, {% data variables.product.product_name %} will ignore the assertion. -- Your IdP must always provide the `` element as part of the `` element. The value must match your `EntityId` for {% data variables.product.product_name %}.{% ifversion ghes or ghae %} This value is the URL where you access {% data variables.product.product_location %}, such as {% ifversion ghes %}`http(s)://HOSTNAME`{% elsif ghae %}`https://SUBDOMAIN.githubenterprise.com`, `https://SUBDOMAIN.github.us`, or `https://SUBDOMAIN.ghe.com`{% endif %}.{% endif %} +- El IdP debe proporcionar el elemento `` en el documento de respuesta raíz y hacer coincidir la URL de ACS únicamente cuando se firme este documento. Si el IdP firma la aserción, {% data variables.product.product_name %} la omitirá. +- El IdP siempre debe proporcionar el elemento `` como parte del elemento ``. El valor debe coincidir con `EntityId` para {% data variables.product.product_name %}.{% ifversion ghes or ghae %} Este valor es la dirección URL en la que accedes a {% data variables.product.product_location %}, como {% ifversion ghes %}`http(s)://HOSTNAME`{% elsif ghae %}`https://SUBDOMAIN.githubenterprise.com`, `https://SUBDOMAIN.github.us` o `https://SUBDOMAIN.ghe.com`{% endif %}.{% endif %} {%- ifversion ghec %} - - If you configure SAML for an organization, this value is `https://github.com/orgs/ORGANIZATION`. - - If you configure SAML for an enterprise, this URL is `https://github.com/enterprises/ENTERPRISE`. + - Si configuras SAML para una organización, este valor es `https://github.com/orgs/ORGANIZATION`. + - Si configuras SAML para una empresa, esta dirección URL es `https://github.com/enterprises/ENTERPRISE`. {%- endif %} -- Your IdP must protect each assertion in the response with a digital signature. You can accomplish this by signing each individual `` element or by signing the `` element. -- Your IdP must provide a `` element as part of the `` element. You may use any persistent name identifier format. -- Your IdP must include the `Recipient` attribute, which must be set to the ACS URL. The following example demonstrates the attribute. +- El IdP debe proteger cada aserción de la respuesta con una firma digital. Esto se puede lograr si se firma cada elemento `` individual o si se firma el elemento ``. +- El IdP debe proporcionar un elemento `` como parte del elemento ``. Puedes utilizar cualquier formato de identificador de nombre persistente. +- El IdP debe incluir el atributo `Recipient`, que se debe establecer en la URL de ACS. En el ejemplo siguiente, se muestra el atributo. ```xml @@ -130,21 +128,20 @@ To specify more than one value for an attribute, use multiple ` ``` -## Session duration and timeout +## Duración y tiempo de espera de la sesión -To prevent a person from authenticating with your IdP and staying authorized indefinitely, {% data variables.product.product_name %} periodically invalidates the session for each user account with access to {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. After invalidation, the person must authenticate with your IdP once again. By default, if your IdP does not assert a value for the `SessionNotOnOrAfter` attribute, {% data variables.product.product_name %} invalidates a session {% ifversion ghec %}24 hours{% elsif ghes or ghae %}one week{% endif %} after successful authentication with your IdP. +Para evitar que una persona se autentique con el IdP y permanezca autorizada indefinidamente, {% data variables.product.product_name %} invalida periódicamente la sesión de cada cuenta de usuario con acceso a {% ifversion ghec or ghae %}los recursos de la empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Después de la invalidación, la persona se debe volver a autenticar con el IdP. De manera predeterminada, si el IdP no declara un valor para el atributo `SessionNotOnOrAfter`, {% data variables.product.product_name %} invalida una sesión {% ifversion ghec %}24 horas{% elsif ghes or ghae %}una semana{% endif %} después de una autenticación correcta con el IdP. -To customize the session duration, you may be able to define the value of the `SessionNotOnOrAfter` attribute on your IdP. If you define a value less than 24 hours, {% data variables.product.product_name %} may prompt people to authenticate every time {% data variables.product.product_name %} initiates a redirect. +Para personalizar la duración de la sesión, puedes definir el valor del atributo `SessionNotOnOrAfter` en el IdP. Si defines un valor inferior a 24 horas, {% data variables.product.product_name %} puede solicitarle a los usuarios que se autentiquen cada vez que {% data variables.product.product_name %} inicia un redireccionamiento. -{% ifversion ghec %} -To prevent authentication errors, we recommend a minimum session duration of 4 hours. For more information, see "[Troubleshooting SAML authentication](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#users-are-repeatedly-redirected-to-authenticate)." +{% ifversion ghec %} Para evitar errores de autenticación, se recomienda una duración de sesión mínima de 4 horas. Para obtener más información, consulta "[Solución de problemas de autenticación SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#users-are-repeatedly-redirected-to-authenticate)". {% endif %} {% note %} -**Notes**: +**Notas**: -- For Azure AD, the configurable lifetime policy for SAML tokens does not control session timeout for {% data variables.product.product_name %}. -- Okta does not currently send the `SessionNotOnOrAfter` attribute during SAML authentication with {% data variables.product.product_name %}. For more information, contact Okta. +- Para Azure AD, la directiva de duración configurable para los tokens SAML no controla el tiempo de espera de sesión para {% data variables.product.product_name %}. +- Actualmente, Okta no envía el atributo `SessionNotOnOrAfter` durante la autenticación SAML con {% data variables.product.product_name %}. Para más información, ponte en contacto con Okta. {% endnote %} diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md index e53d35d755..cb776ec4ce 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -24,10 +24,10 @@ topics: - Python shortTitle: Configure code scanning ms.openlocfilehash: 9786c51f2b29ffa22d4238fe6b47b241717c32f9 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: '147717865' --- {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning-actions %} diff --git a/translations/es-ES/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/translations/es-ES/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md index e4496f4b92..3b4c1dc5f2 100644 --- a/translations/es-ES/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md +++ b/translations/es-ES/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -1,6 +1,6 @@ --- -title: Acerca del gráfico de dependencias -intro: Puedes utilizar la gráfica de dependencias para identificar todas las dependencias de tus proyectos. La gráfica de dependencias es compatible con una variedad de ecosistemas de paquetes populares. +title: About the dependency graph +intro: You can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems. redirect_from: - /github/visualizing-repository-data-with-graphs/about-the-dependency-graph - /code-security/supply-chain-security/about-the-dependency-graph @@ -15,85 +15,101 @@ topics: - Dependencies - Repositories shortTitle: Dependency graph -ms.openlocfilehash: bb8e802210da132d51e4c926ac9085a6790ba683 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '147578634' --- -## Acerca del gráfico de dependencias +## About the dependency graph {% data reusables.dependabot.about-the-dependency-graph %} -Al insertar una confirmación en {% data variables.product.product_name %} que cambie o agregue un archivo de bloqueo o de manifiesto admitido a la rama predeterminada, el gráfico de dependencias se actualizará de forma automática.{% ifversion fpt or ghec %} Además, el gráfico se actualiza cuando alguien inserte un cambio en el repositorio de una de las dependencias.{% endif %} Para más información sobre los ecosistemas y archivos de manifiesto admitidos, vea "[Ecosistemas de paquetes admitidos](#supported-package-ecosystems)" a continuación. +When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt or ghec %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below. -{% ifversion dependency-submission-api %} {% data reusables.dependency-submission.dependency-submission-link %} {% endif %} +{% ifversion dependency-submission-api %} +{% data reusables.dependency-submission.dependency-submission-link %} +{% endif %} -Cuando creas una solicitud de cambios que contenga los cambios de las dependencias que apuntan a la rama predeterminada, {% data variables.product.prodname_dotcom %} utiliza la gráfica de dependencias para agregar revisiones de dependencia a la solicitud de cambios. Estas indican si las dependencias contendrán vulnerabilidades y, si es el caso, la versión de la dependencia en la cual se arregló la vulnerabilidad. Para más información, vea "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/about-dependency-review)". +When you create a pull request containing changes to dependencies that targets the default branch, {% data variables.product.prodname_dotcom %} uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." -## Disponibilidad de la gráfica de dependencias +## Dependency graph availability -{% ifversion fpt or ghec %}El gráfico de dependencias está disponible para cada repositorio público que defina las dependencias en un ecosistema de paquetes compatible con un formato de archivo admitido. Los administradores de repositorio también pueden configurar la gráfica de dependencias para los repositorios privados. Para obtener más información, consulta "[Configuración del gráfico de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)".{% endif %} +{% ifversion fpt or ghec %}The dependency graph is available for every public repository that defines dependencies in a supported package ecosystem using a supported file format. Repository administrators can also set up the dependency graph for private repositories. For more information, see "[Configuring the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)."{% endif %} {% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} -## Dependencias que se incluyen +## Dependencies included -El gráfico de dependencias incluye todas las dependencias de un repositorio que se detallan en los archivos de manifiesto y bloqueo, o su equivalente, para los ecosistemas admitidos{% ifversion dependency-submission-api %}, así como las dependencias que se envían mediante la API de envío de dependencias (en beta){% endif %}. Esto incluye: +The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems{% ifversion dependency-submission-api %}, as well as any dependencies that are submitted using the Dependency submission API (beta){% endif %}. This includes: -- Las dependencias directas, que se definen explícitamente en un archivo de manifiesto o bloqueo {% ifversion dependency-submission-api %} o se han enviado mediante la API de envío de dependencias (en beta){% endif %} -- Las dependencias indirectas de estas dependencias directas, también conocidas como dependencias transitorias o sub-dependencias +- Direct dependencies, that are explicitly defined in a manifest or lock file {% ifversion dependency-submission-api %} or have been submitted using the Dependency submission API (beta){% endif %} +- Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies -El gráfico de dependencias identifica dependencias indirectas{% ifversion fpt or ghec %} ya sea de forma explícita desde un archivo de bloqueo o mediante la comprobación de las dependencias de las dependencias directas. Para la gráfica más confiable, debes utilizar archivos de bloqueo (o su equivalente), ya que estos definen exactamente qué versiones de las dependencias directas e indirectas estás utilizando actualmente. Si utilizas archivos de bloqueo, también te aseguras de que todos los contribuyentes del repositorio están utilizando las mismas versiones, lo cual te facilitará el probar y depurar el código{% else %} de los archivos de bloqueo{% endif %}. +The dependency graph identifies indirect dependencies{% ifversion fpt or ghec %} either explicitly from a lock file or by checking the dependencies of your direct dependencies. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. -Para obtener más información sobre cómo {% data variables.product.product_name %} te ayuda a comprender las dependencias de tu entorno, consulta "[Acerca de la seguridad de la cadena de suministro](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)". +For more information on how {% data variables.product.product_name %} helps you understand the dependencies in your environment, see "[About supply chain security](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)." {% ifversion fpt or ghec %} -## Dependientes incluídos +## Dependents included -Para los repositorios públicos, únicamente se reportan los repositorios públicos que dependen de éste o de los paquetes que publicas. Esta información no se reporta para los repositorios privados.{% endif %} +For public repositories, only public repositories that depend on it or on packages that it publishes are reported. This information is not reported for private repositories.{% endif %} -## Utiizar la gráfica de dependencias +## Using the dependency graph -Puedes utilizar la gráfica de dependencias para: +You can use the dependency graph to: -- Explore los repositorios de los que depende el código en{% ifversion fpt or ghec %} y los que dependen de él{% endif %}. Para obtener más información, consulte "[Exploración de las dependencias de un repositorio](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)". {% ifversion ghec %} -- Ver en un solo tablero un resumen de las dependencias que se utilizan en los repositorios de tu organización. Para más información, vea "[Visualización de conclusiones de la organización](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)".{% endif %} -- Ver y actualizar las dependencias vulnerables de tu repositorio. Para más información, consulta "[Acerca de {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)".{% ifversion fpt or ghes or ghec %} -- Consulta la información sobre las dependencias vulnerables en las solicitudes de cambios. Para más información, vea "[Revisión de los cambios de dependencias en una solicitud de incorporación de cambios](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)".{% endif %} +- Explore the repositories your code depends on{% ifversion fpt or ghec %}, and those that depend on it{% endif %}. For more information, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." {% ifversion ghec %} +- View a summary of the dependencies used in your organization's repositories in a single dashboard. For more information, see "[Viewing insights for your organization](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)."{% endif %} +- View and update vulnerable dependencies for your repository. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."{% ifversion fpt or ghes or ghec %} +- See information about vulnerable dependencies in pull requests. For more information, see "[Reviewing dependency changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)."{% endif %} -## Ecosistemas de paquetes compatibles +## Supported package ecosystems -Los formatos recomendados definen explícitamente qué versiones se utilizan para todas las dependencias directas e indirectas. Si usa estos formatos, el gráfico de dependencias será más preciso. También refleja la configuración de compilación actual y permite que el gráfico de dependencias notifique vulnerabilidades tanto en las dependencias directas como en las indirectas.{% ifversion fpt or ghec %} Las dependencias indirectas que se infieren de un archivo de manifiesto (o equivalente) se excluyen de las comprobaciones de dependencias no seguras.{% endif %} +The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt or ghec %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.{% endif %} -| Administrador de paquetes | Idiomas | Formatos recomendados | Todos los formatos admitidos | +| Package manager | Languages | Recommended formats | All supported formats | | --- | --- | --- | ---| -{%- ifversion dependency-graph-rust-support %} | Cargo{% ifversion ghes = 3.6 or ghae-issue-7563 %}[*]{% endif %} | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` | {%- endif %} | Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | | NuGet | Lenguajes de .NET (C#, F#, VB), C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | {%- ifversion github-actions-in-dependency-graph %} | Flujos de trabajo de {% data variables.product.prodname_actions %}[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | {%- endif %} {%- ifversion fpt or ghec or ghes > 3.2 or ghae %} | Módulos de Go | Go | `go.sum` | `go.mod`, `go.sum` | {%- elsif ghes = 3.2 %} | Módulos de Go | Go | `go.mod` | `go.mod` | {%- endif %} | Maven | Java, Scala | `pom.xml` | `pom.xml` | | npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| | pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4752 %} | Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` | {%- endif %} | RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` | | Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | +{%- ifversion dependency-graph-rust-support %} +| Cargo | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` | +{%- endif %} +| Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | +| NuGet | .NET languages (C#, F#, VB), C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | +{%- ifversion github-actions-in-dependency-graph %} +| {% data variables.product.prodname_actions %} workflows[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | +{%- endif %} +{%- ifversion fpt or ghec or ghes > 3.2 or ghae %} +| Go modules | Go | `go.sum` | `go.mod`, `go.sum` | +{%- elsif ghes = 3.2 %} +| Go modules | Go | `go.mod` | `go.mod` | +{%- endif %} +| Maven | Java, Scala | `pom.xml` | `pom.xml` | +| npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| +| pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4752 %} +| Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` | +{%- endif %} +| RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` | +| Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | -{% ifversion ghes = 3.6 or ghae-issue-7563 %} [*] Para la versión inicial de la compatibilidad con Rust, el gráfico de dependencias no tiene los metadatos y asignaciones necesarios para detectar dependencias transitivas. El gráfico de dependencias muestra las dependencias transitivas, con un nivel de profundidad uno, cuando se definen en un archivo `Cargo.lock`. {% data variables.product.prodname_dependabot_alerts %} y {% data variables.product.prodname_dependabot_security_updates %} están disponibles para las dependencias vulnerables definidas en el archivo `Cargo.lock`. -{% endif %} - -{% ifversion github-actions-in-dependency-graph %} [†] {% data reusables.enterprise.3-5-missing-feature %} Los flujos de trabajo de {% data variables.product.prodname_actions %} se deben ubicar en el directorio `.github/workflows/` de un repositorio para que se reconozcan como manifiestos. Las acciones o flujos de trabajo a los que se hace referencia mediante la sintaxis `jobs[*].steps[*].uses` o `jobs..uses` se analizarán como dependencias. Para más información, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)". +{% ifversion github-actions-in-dependency-graph %} +[†] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} workflows must be located in the `.github/workflows/` directory of a repository to be recognized as manifests. Any actions or workflows referenced using the syntax `jobs[*].steps[*].uses` or `jobs..uses` will be parsed as dependencies. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)." {% endif %} -[‡] Si enumeras las dependencias de Python dentro de un archivo `setup.py`, es posible que no podamos analizar y enumerar cada una de las dependencias del proyecto. +[‡] If you list your Python dependencies within a `setup.py` file, we may not be able to parse and list every dependency in your project. -{% ifversion github-actions-in-dependency-graph %} {% note %} +{% ifversion github-actions-in-dependency-graph %} +{% note %} -**Nota:** Las dependencias de flujos de trabajo de {% data variables.product.prodname_actions %} se muestran en el gráfico de dependencias con fines informativos. Las alertas del dependabot no son compatibles actualmente con los flujos de trabajo de {% data variables.product.prodname_actions %}. +**Note:** {% data variables.product.prodname_actions %} workflow dependencies are displayed in the dependency graph for informational purposes. Dependabot alerts are not currently supported for {% data variables.product.prodname_actions %} workflows. -{% endnote %} {% endif %} +{% endnote %} +{% endif %} -{% ifversion dependency-submission-api %}Puedes usar la API de envío de dependencias (en beta) para agregar dependencias desde el administrador de paquetes o el ecosistema de tu elección al gráfico de dependencias, incluso si el ecosistema no está en la lista de ecosistemas compatibles anterior. El gráfico de dependencias mostrará las dependencias enviadas agrupadas por ecosistema, pero por separado de las dependencias analizadas de los archivos de manifiesto o de bloqueo. Solo obtendrás {% data variables.product.prodname_dependabot_alerts %} para las dependencias que proceden de uno de los [ecosistemas compatibles](https://github.com/github/advisory-database#supported-ecosystems) de {% data variables.product.prodname_advisory_database %}. Para obtener más información sobre la API de envío de dependencias, consulta "[Uso de la API de envío de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)".{% endif %} -## Información adicional +{% ifversion dependency-submission-api %}You can use the Dependency submission API (beta) to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files. You will only get {% data variables.product.prodname_dependabot_alerts %} for dependencies that are from one of the [supported ecosystems](https://github.com/github/advisory-database#supported-ecosystems) of the {% data variables.product.prodname_advisory_database %}. For more information on the Dependency submission API, see "[Using the Dependency submission API](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)."{% endif %} +## Further reading -- "[Gráfico de dependencias](https://en.wikipedia.org/wiki/Dependency_graph)" en Wikipedia -- "[Exploración de las dependencias de un repositorio](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)" -- "[Visualización y actualización de {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" -- "[Solución de problemas en la detección de dependencias vulnerables](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" +- "[Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph)" on Wikipedia +- "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)" +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index 54ae989544..442ed5533f 100644 --- a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -1,7 +1,7 @@ --- -title: Personalizing GitHub Codespaces for your account +title: Personalización de GitHub Codespaces para la cuenta shortTitle: Personalize your codespaces -intro: 'You can personalize {% data variables.product.prodname_github_codespaces %} by using a `dotfiles` repository on {% data variables.product.product_name %} or by using Settings Sync.' +intro: 'Puedes personalizar {% data variables.product.prodname_github_codespaces %} mediante un repositorio `dotfiles` en {% data variables.product.product_name %} o por medio de la sincronización de la configuración.' redirect_from: - /github/developing-online-with-github-codespaces/personalizing-github-codespaces-for-your-account - /github/developing-online-with-codespaces/personalizing-codespaces-for-your-account @@ -16,39 +16,43 @@ topics: - Set up - Fundamentals product: '{% data reusables.gated-features.codespaces %}' +ms.openlocfilehash: 1aec1fc1fdc3d7e49408d3ddfcf94805994c8633 +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878587' --- +## Acerca de personalizar los {% data variables.product.prodname_codespaces %} +Cuando utilizas cualquier ambiente de desarrollo, personalizar las configuraciones y herramientas de acuerdo con tus preferencias y flujos de trabajo es un paso importante. {% data variables.product.prodname_codespaces %} permite dos formas principales de personalizar tus codespaces. -## About personalizing {% data variables.product.prodname_codespaces %} +- [Sincronizar configuración](#settings-sync): puede utilizar y compartir la configuración de {% data variables.product.prodname_vscode %} entre {% data variables.product.prodname_codespaces %} y otras instancias de {% data variables.product.prodname_vscode %} +- [Dotfiles](#dotfiles): puede usar un repositorio `dotfiles` para especificar scripts, preferencias de shell y otras configuraciones. -When using any development environment, customizing the settings and tools to your preferences and workflows is an important step. {% data variables.product.prodname_codespaces %} allows for two main ways of personalizing your codespaces. +La personalización de {% data variables.product.prodname_codespaces %} aplica a cualquier codespace que crees. -- [Settings Sync](#settings-sync) - You can use and share {% data variables.product.prodname_vscode %} settings between {% data variables.product.prodname_codespaces %} and other instances of {% data variables.product.prodname_vscode %}. -- [Dotfiles](#dotfiles) – You can use a `dotfiles` repository to specify scripts, shell preferences, and other configurations. +Los mantenendores de proyecto también pueden definir una configuración predeterminada que aplique a cada codespace para un repositorio que cree alguien más. Para más información, vea "[Configuración de {% data variables.product.prodname_codespaces %} para el proyecto](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project)". -{% data variables.product.prodname_codespaces %} personalization applies to any codespace you create. +## Sincronización de ajustes -Project maintainers can also define a default configuration that applies to every codespace for a repository, created by anyone. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project)." +La configuración de ajustes te permite compartir configuraciones tales como configuraciones, atajos de teclado, fragmentos de código, extensiones y estados de IU entre máquinas e instancias de {% data variables.product.prodname_vscode %}. -## Settings Sync +Para habilitar Sincronizar configuración, en la esquina inferior izquierda de la barra de actividad, seleccione {% octicon "gear" aria-label="The gear icon" %} and click **Activar Sincronizar configuración…** . En la caja de diálogo, selecciona los ajustes que te gustaría sincronizar. -Settings Sync allows you to share configurations such as settings, keyboard shortcuts, snippets, extensions, and UI state across machines and instances of {% data variables.product.prodname_vscode %}. +![La opción de sincronización de ajustes en el menú de administración](/assets/images/help/codespaces/codespaces-manage-settings-sync.png) -To enable Settings Sync, in the bottom-left corner of the Activity Bar, select {% octicon "gear" aria-label="The gear icon" %} and click **Turn on Settings Sync…**. In the dialog box, select the settings you'd like to sync. - -![Setting Sync option in manage menu](/assets/images/help/codespaces/codespaces-manage-settings-sync.png) - -For more information, see the [Settings Sync guide](https://code.visualstudio.com/docs/editor/settings-sync) in the {% data variables.product.prodname_vscode %} documentation. +Para más información, vea "[Guía de Sincronizar configuración](https://code.visualstudio.com/docs/editor/settings-sync)" en la documentación de {% data variables.product.prodname_vscode %}. ## Dotfiles -Dotfiles are files and folders on Unix-like systems starting with `.` that control the configuration of applications and shells on your system. You can store and manage your dotfiles in a repository on {% data variables.product.prodname_dotcom %}. For advice and tutorials about what to include in your dotfiles repository, see [GitHub does dotfiles](https://dotfiles.github.io/). +Los dotfile son archivos y carpetas de sistemas similares a Unix que comienzan con `.` y que controlan la configuración de aplicaciones y shells en el sistema. Puedes alamacenar y administrar tus dotfiles en un repositorio en {% data variables.product.prodname_dotcom %}. Para obtener consejos y tutoriales sobre qué incluir en el repositorio de dotfile, vea [Dotfile en GitHub](https://dotfiles.github.io/). -Your dotfiles repository might include your shell aliases and preferences, any tools you want to install, or any other codespace personalization you want to make. +Tu repositorio dotfiles puede incluir los alias de tu shell y tus preferencias, cualquier herramienta que quieras instalar o cualquier otra personalización del codespace que quieras hacer. -You can configure {% data variables.product.prodname_codespaces %} to use dotfiles from any repository you own by selecting that repository in your [personal {% data variables.product.prodname_codespaces %} settings](https://github.com/settings/codespaces). +Puede configurar {% data variables.product.prodname_codespaces %} para usar dotfile desde cualquier repositorio que posea si selecciona ese repositorio en la [configuración personal de {% data variables.product.prodname_codespaces %}](https://github.com/settings/codespaces). -When you create a new codespace, {% data variables.product.prodname_dotcom %} clones your selected dotfiles repository to the codespace environment, and looks for one of the following files to set up the environment. +Cuando crea un codespace nuevo, {% data variables.product.prodname_dotcom %} clona su repositorio de dotfiles seleccionado hacia el ambiente del codespace, y busca uno de los siguientes archivos para configurar el ambiente. * _install.sh_ * _install_ @@ -59,45 +63,44 @@ When you create a new codespace, {% data variables.product.prodname_dotcom %} cl * _setup_ * _script/setup_ -If none of these files are found, then any files or folders in your selected dotfiles repository starting with `.` are symlinked to the codespace's `~` or `$HOME` directory. +Si no se encuentra ninguno de estos archivos, los archivos o carpetas del repositorio dotfiles seleccionado que empiezan por `.` se enlazan de forma simbólica al directorio `~` o `$HOME` del codespace. -Any changes to your selected dotfiles repository will apply only to each new codespace, and do not affect any existing codespace. +Cualquier cambio al repositorio de dotfiles que seleccionaste se aplicará únicamente a cada codespace nuevo y no afectará a ningún codespace existente. {% note %} -**Note:** Currently, {% data variables.product.prodname_codespaces %} does not support personalizing the _User_ settings for the {% data variables.product.prodname_vscode %} editor with your `dotfiles` repository. You can set default _Workspace_ and _Remote [Codespaces]_ settings for a specific project in the project's repository. For more information, see "[Introduction to dev containers](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)." +**Nota:** Actualmente, en {% data variables.product.prodname_codespaces %} no se admite la personalización de la configuración de _Usuario_ para el editor de {% data variables.product.prodname_vscode %} con el repositorio `dotfiles`. Puede establecer la configuración predeterminada _Área de trabajo_ y _Repositorio remoto [Codespaces]_ para un proyecto específico en el repositorio del proyecto. Para obtener más información, consulte "[Introducción a los contenedores de desarrollo](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)". {% endnote %} -### Enabling your dotfiles repository for {% data variables.product.prodname_codespaces %} +### Habilitar tu repositorio de dotfiles para {% data variables.product.prodname_codespaces %} -You can use your selected dotfiles repository to personalize your {% data variables.product.prodname_codespaces %} environment. Once you choose your dotfiles repository, you can add your scripts, preferences, and configurations to it. You then need to enable your dotfiles from your personal {% data variables.product.prodname_codespaces %} settings page. +Puedes utilizar tu repositorio de dotfiles seleccionado para personalizar tu ambiente de {% data variables.product.prodname_codespaces %}. Una vez que elijas tu repositorio de dotfiles, puedes agregar tus scripts, preferencias y configuraciones a este. Después, necesitarás habilitar tus dotfiles desde tu página personal de ajustes de {% data variables.product.prodname_codespaces %}. {% warning %} -**Warning:** Dotfiles have the ability to run arbitrary scripts, which may contain unexpected or malicious code. Before installing a dotfiles repo, we recommend checking scripts to ensure they don't perform any unexpected actions. +**Advertencia:** Los dotfile tienen la capacidad de ejecutar scripts arbitrarios, que podrían contener código malicioso o inesperado. Antes de instalar un repositorio de dotfiles, te recomendamos verificar los scripts para asegurarte de que no realicen acciones inesperadas. {% endwarning %} -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.codespaces-tab %} -1. Under "Dotfiles", select **Automatically install dotfiles** so that {% data variables.product.prodname_codespaces %} automatically installs your dotfiles into every new codespace you create. - ![Installing dotfiles](/assets/images/help/codespaces/install-custom-dotfiles.png) -2. Choose the repository you want to install dotfiles from. - ![Selecting a dotfiles repo](/assets/images/help/codespaces/select-dotfiles-repo.png) +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. En "Dotfiles", seleccione **Instalar dotfiles automáticamente** para que {% data variables.product.prodname_codespaces %} instale los dotfiles de forma automática en cada codespace que cree. + ![Instalación de dotfiles](/assets/images/help/codespaces/install-custom-dotfiles.png) +2. Elige el repositorio desde el cual quieras instalar dotfiles. + ![Selección de un repositorio de dotfiles](/assets/images/help/codespaces/select-dotfiles-repo.png) -You can add further script, preferences, configuration files to your dotfiles repository or edit existing files whenever you want. Changes to settings will only be picked up by new codespaces. +Puedes agregar más scripts, preferencias o archivos de configuración a tu repositorio de dotfiles o editar los archivos existentes cuando lo desees. Solo los codespaces nuevos tomarán los cambios a los ajustes. -If your codespace fails to pick up configuration settings from dotfiles, see "[Troubleshooting dotfiles for {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)." +Si el codespace no puede seleccionar las opciones de configuración de los dotfiles, vea "[Solución de problemas de dotfiles para {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)". -You can also personalize {% data variables.product.prodname_codespaces %} using additional [{% data variables.product.prodname_codespaces %} settings](https://github.com/settings/codespaces): +También puede personalizar {% data variables.product.prodname_codespaces %} mediante [valores de {% data variables.product.prodname_codespaces %}](https://github.com/settings/codespaces) adicionales: -- To enable GPG verification, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)." -- To set your editor, see "[Setting your default editor for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)." -- To set how long a codespace can remain unused before it is automatically stopped, see "[Setting your timeout period for GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." -- To set the period for which your unused codespaces are retained, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." -- To set your default region, see "[Setting your default region for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)." +- Para habilitar la comprobación de GPG, consulta "[Administración de la comprobación de GPG para {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)". +- Para establecer el editor, consulta "[Configuración del editor predeterminado para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)". +- Para establecer cuánto tiempo puede permanecer un codespace sin usar antes de que se detenga automáticamente, consulta "[Establecimiento del periodo de tiempo de espera para GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)". +- Para establecer el periodo durante el que se conservan los codespaces sin usar, consulta "[Configuración de la eliminación automática de los codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)". +- Para configurar la región predeterminada, consulta "[Configuración de la región predeterminada para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)". -## Further reading +## Información adicional -* "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)" +* "[Creación de un repositorio](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)" diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md b/translations/es-ES/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md index 6dfc8e8970..c25339d791 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md @@ -69,6 +69,8 @@ You can create a codespace for a particular task and then safely delete the code If you try to delete a codespace with unpushed git commits, your editor will notify you that you have changes that have not been pushed to a remote branch. You can push any desired changes and then delete your codespace, or continue to delete your codespace and any uncommitted changes. You can also export your code to a new branch without creating a new codespace. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)." +Codespaces that have been stopped and remain inactive for a specified period of time will be deleted automatically. By default, inactive codespaces are deleted after 30 days, but you can customize your codespace retention period. For more information, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." + You will be charged for the storage of all your codespaces. When you delete a codespace, you will no longer be charged. For more information on deleting a codespace, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)." diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/deleting-a-codespace.md b/translations/es-ES/content/codespaces/developing-in-codespaces/deleting-a-codespace.md index a3297c9082..5a9bb4271a 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/deleting-a-codespace.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/deleting-a-codespace.md @@ -123,4 +123,5 @@ For more information, click the "{% data variables.product.prodname_cli %}" tab You can also use the REST API to delete codespaces for your organization. For more information, see "[Codespaces organizations](/rest/codespaces/organizations#delete-a-codespace-from-the-organization)." ## Further reading -- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)" \ No newline at end of file +- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)" +- "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)" \ No newline at end of file diff --git a/translations/es-ES/content/codespaces/getting-started/deep-dive.md b/translations/es-ES/content/codespaces/getting-started/deep-dive.md index 758034cef4..a5ec85afdf 100644 --- a/translations/es-ES/content/codespaces/getting-started/deep-dive.md +++ b/translations/es-ES/content/codespaces/getting-started/deep-dive.md @@ -10,12 +10,12 @@ versions: type: quick_start topics: - Codespaces -ms.openlocfilehash: 5513956ea915701656e476681dbdbd6a2064b629 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: d64aa32db633a14c1cc8d36b3204cab2c9982f93 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '147783035' +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878652' --- {% data variables.product.prodname_github_codespaces %} es un entorno de desarrollo instantáneo basado en la nube que usa un contenedor para proporcionar lenguajes comunes, herramientas y utilidades para el desarrollo. {% data variables.product.prodname_codespaces %} también es configurable, lo cual te permite crear un ambiente de desarrollo personalizado para tu proyecto. Al configurar un ambiente de desarrollo personalizado para tu proyecto, puedes tener una configuración de codespace repetible para todos los usuarios de dicho proyecto. @@ -103,7 +103,9 @@ Git se encuentra disponible predeterminadamente en tu codespace, entonces puedes ![Ejecutar un estado de git en la Terminal de Codespaces](/assets/images/help/codespaces/git-status.png) -Puedes crear un codespace desde cualquier rama, confirmación o solicitud de cambios en tu proyecto o puedes cambiar a una rama existente o nueva desde dentro de tu codespace activo. Ya que {% data variables.product.prodname_github_codespaces %} está diseñado para ser efímero, puedes utilizarlo como un ambiente aislado para experimentar, verificar la solicitud de incorporación de cambios de un compañero o arreglar conflictos de fusión. Puedes crear más de un codespace por repositorio o incluso por rama. Pero cada cuenta personal tiene un límite de 10 codespaces. Si has alcanzado el límite y quieres crear un codespace nuevo, primero debes borrar un codespace. +Puedes crear un codespace desde cualquier rama, confirmación o solicitud de cambios en tu proyecto o puedes cambiar a una rama existente o nueva desde dentro de tu codespace activo. Ya que {% data variables.product.prodname_github_codespaces %} está diseñado para ser efímero, puedes utilizarlo como un ambiente aislado para experimentar, verificar la solicitud de incorporación de cambios de un compañero o arreglar conflictos de fusión. + +Puedes crear más de un codespace por repositorio o incluso por rama. Sin embargo, hay límites para el número de codespaces que puede crear y el número de codespaces que puede ejecutar al mismo tiempo. Si alcanza el número máximo de codespaces e intenta crear otro, se muestra un mensaje que indica que debe quitar un codespace existente para poder crear uno nuevo. {% note %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index 05a12799b2..8da0d603f4 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -13,12 +13,12 @@ topics: - Billing redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization -ms.openlocfilehash: 752a32ca3af18873e88fab2389beef0262988b28 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: 6cd1396cd0933999a99c334f00416b43f31ae249 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '147676660' +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147865189' --- ## Información general @@ -27,7 +27,7 @@ Para información sobre los precios de {% data variables.product.prodname_github {% data reusables.codespaces.codespaces-billing %} - Como propietario de la organización o administrador de facturación, puede administrar la facturación de {% data variables.product.prodname_codespaces %} para la organización: ["Acerca de la facturación de Codespaces"](/billing/managing-billing-for-github-codespaces/about-billing-for-codespaces) - +- Como propietario de la organización, puede enumerar los codespaces activos y detenidos actualmente de la organización. Además de estos codespaces, los costos del mes actual pueden incluir los costos de los codespaces que existían anteriormente en el mes actual, pero que se han eliminado. - Para los usuarios, hay una guía en la que se explica cómo funciona la facturación: ["Descripción de la facturación de Codespaces"](/codespaces/codespaces-reference/understanding-billing-for-codespaces) ## Límites de uso @@ -36,7 +36,7 @@ Puedes configurar el límite de uso de los codespaces en tu organización o repo - **Minutos de proceso:** el uso del proceso se calcula con la cantidad actual de minutos que usan todas las instancias de {% data variables.product.prodname_codespaces %} mientras están activas. Estos totales se reportan al servicio de facturación diariamente y se cobran mensualmente. Puedes configurar un límite de gastos para el uso de {% data variables.product.prodname_codespaces %} en tu organización. Para más información, consulta "[Administración de los límites de gasto para {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)". -- **Uso de almacenamiento:** con fines de facturación de {% data variables.product.prodname_codespaces %}, esto incluye todo el almacenamiento que usan todos los codespaces de la cuenta. Esto incluye todos los que utilizan los codespaces, tales como los repositorios clonados, archivos de configuración y extensiones, entre otros. Estos totales se reportan al servicio de facturación diariamente y se cobran mensualmente. Al final del mes, {% data variables.product.prodname_dotcom %} redondea tu almacenamiento al número de MB más cercano. Para comprobar cuántos minutos de proceso y GB de almacenamiento se han usado en {% data variables.product.prodname_codespaces %}, consulta "[Visualización del uso de {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)". +- **Uso de almacenamiento:** con fines de facturación de {% data variables.product.prodname_codespaces %}, esto incluye todo el almacenamiento que usan todos los codespaces de la cuenta. Esto incluye todos los recursos, tales como los repositorios clonados, archivos de configuración y extensiones, entre otros. Estos totales se reportan al servicio de facturación diariamente y se cobran mensualmente. Al final del mes, {% data variables.product.prodname_dotcom %} redondea tu almacenamiento al número de MB más cercano. Para comprobar cuántos minutos de proceso y GB de almacenamiento se han usado en {% data variables.product.prodname_codespaces %}, consulta "[Visualización del uso de {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)". ## Inhabilitar o limitar los {% data variables.product.prodname_codespaces %} @@ -52,10 +52,16 @@ También puedes restringir cuánto tiempo puede permanecer un codespace sin usar ## Borrar los codespaces sin utilizar -Los usuarios pueden eliminar manualmente los codespaces en https://github.com/codespaces y desde {% data variables.product.prodname_vscode %}. Para reducir el tamaño de un codespace, los usuarios pueden eliminar manualmente archivos mediante el terminal o desde {% data variables.product.prodname_vscode_shortname %}. +Los usuarios pueden eliminar manualmente sus propios codespaces en https://github.com/codespaces y desde {% data variables.product.prodname_vscode %}. Para reducir el tamaño de un codespace, los usuarios pueden eliminar manualmente archivos mediante el terminal o desde {% data variables.product.prodname_vscode_shortname %}. + +Como propietario de la organización, puede eliminar cualquier codespace de la organización. Para más información, vea "[Eliminación de un codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization)". {% note %} **Nota:** Los codespaces se eliminan automáticamente una vez detenidos y permanecen inactivos durante un número definido de días. Para obtener más información, consulta "[Restringir el período de retención para los codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". Un codespace solo lo puede eliminar manualmente la persona que lo creó. {% endnote %} + +## Información adicional + +- "[Enumeración de codespaces en la organización](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization)" diff --git a/translations/es-ES/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md b/translations/es-ES/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md index b83498f96f..2db5eff591 100644 --- a/translations/es-ES/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md +++ b/translations/es-ES/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md @@ -14,14 +14,14 @@ topics: - Organizations - Teams shortTitle: Manage team access -ms.openlocfilehash: d03c6dcb8f1f386d0545ad99154edaf0991a987e -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: 34f912f4d5c55df30629b7b56200bef25281bf2d +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '145134994' +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878611' --- -Las personas con acceso de administrador a un repositorio pueden administrar el acceso del equipo a un repositorio. Los mantenedores del equipo pueden eliminar el acceso de un equipo a un repositorio. +Las personas con acceso de administrador a un repositorio pueden administrar el acceso del equipo a un repositorio. Los mantenedores del equipo pueden eliminar el acceso de un equipo a un repositorio si el equipo tiene acceso directo. Si el acceso del equipo al repositorio se hereda de un equipo primario, los mantenedores pueden optar por restablecer el permiso actual para que coincida con el permiso del equipo primario. {% warning %} diff --git a/translations/es-ES/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/translations/es-ES/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index 25a2d10e3f..65c5f9c589 100644 --- a/translations/es-ES/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/translations/es-ES/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -14,10 +14,10 @@ versions: ghae: '*' shortTitle: Delete & restore a package ms.openlocfilehash: 4491e7cd25fbec2a19abb06c552ba0e0d3ac7b24 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: '147704991' --- {% data reusables.package_registry.packages-ghes-release-stage %} diff --git a/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md b/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md index 8cc2b2e7a6..d5e59b005f 100644 --- a/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md +++ b/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md @@ -1,7 +1,7 @@ --- title: Cambiar la rama predeterminada intro: 'Si tienes màs de una rama en tu repositorio, puedes configurar cualquiera de ellas como la predeterminada.' -permissions: People with admin permissions to a repository can change the default branch for the repository. +permissions: People with admin access for a repository can change the default branch for the repository. versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md index 9e5f628be0..a21ccd169b 100644 --- a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Introducción a la API REST -intro: 'Aprende las bases para utilizar la API de REST, comenzando con la autenticación y algunos ejemplos de las terminales.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Obtén información sobre el uso de la API de REST de {% data variables.product.prodname_dotcom %}.' versions: fpt: '*' ghes: '*' @@ -11,419 +8,753 @@ versions: ghec: '*' topics: - API -shortTitle: Get started - REST API -ms.openlocfilehash: a466a3ccad214c8fe797dd73e4e96af3ab6eead8 -ms.sourcegitcommit: 8544f120269257d01adfe4a27b62f08fc8691727 +shortTitle: Using the API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: f9467bdf801708938ed14ea474e70461efc8dba8 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 08/02/2022 -ms.locfileid: '147445084' +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147718049' --- -Vamos a explicar los conceptos centrales de la API mientras incluímos algunos casos de uso cotidiano. +## Acerca de la API de REST de {% data variables.product.prodname_dotcom %} -{% data reusables.rest-api.dotcom-only-guide-note %} +En este artículo se describe cómo usar la API de REST de {% data variables.product.prodname_dotcom %} mediante {% data variables.product.prodname_cli %}, JavaScript o cURL. Para obtener una guía de inicio rápido, consulta "[Inicio rápido para la API de REST de GitHub](/rest/quickstart)". -## Información general +Al realizar una solicitud a la API de REST, especificarás un método HTTP y una ruta de acceso. Además, también puedes especificar encabezados de solicitud y parámetros de ruta de acceso, consulta o cuerpo. La API devolverá el código de estado de respuesta, los encabezados de respuesta y, posiblemente, un cuerpo de respuesta. -La mayoría de las aplicaciones usarán una [biblioteca contenedora][wrappers] existente en el lenguaje que prefiera, pero es importante familiarizarse primero con los métodos HTTP de API subyacentes. +La documentación de referencia de la API de REST describe el método HTTP, la ruta de acceso y los parámetros de cada operación. También muestra solicitudes y respuestas de ejemplo para cada operación. Para más información, consulta la [Documentación de referencia de REST](/rest). -No hay manera más fácil de empezar que mediante [cURL][curl].{% ifversion fpt or ghec %} Si usa un cliente alternativo, tenga en cuenta que debe enviar un [encabezado Agente de usuario](/rest/overview/resources-in-the-rest-api#user-agent-required) válido en la solicitud.{% endif %} +## Realización de una solicitud -### Hola mundo +Para realizar una solicitud, busca primero el método HTTP y la ruta de acceso de la operación que deseas usar. Por ejemplo, la operación "Obtener Octocat" usa el `GET` método y la ruta de `/octocat` acceso. Para obtener la documentación de referencia completa de esta operación, consulta "[Obtener Octocat](/rest/meta#get-octocat)". -Comencemos por probar nuestra configuración. Abra un símbolo del sistema y escriba el comando siguiente: +{% cli %} + +{% note %} + +**Nota**: Debes instalar {% data variables.product.prodname_cli %} para poder usar los comandos en los ejemplos de {% data variables.product.prodname_cli %}. A fin de obtener instrucciones de instalación, consulta el repositorio de [{% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). + +{% endnote %} + +Si aún no estás autenticado en {% data variables.product.prodname_cli %}, debes usar el `gh auth login` subcomando para autenticarte antes de realizar solicitudes. Para más información, consulta "[Autenticación](#authenticating)". + +Para realizar una solicitud con {% data variables.product.prodname_cli %}, usa el `api` subcomando junto con la ruta de acceso. Usa la marca `--method` o `-X` para especificar el método. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -La respuesta será una selección aleatoria de nuestra filosofía de diseño. +{% endcli %} -A continuación, se usa `GET` en el [perfil de GitHub][users api] de [Chris Wanstrath][defunkt github]: +{% javascript %} + +{% note %} + +**Nota**: Debes instalar e importar `octokit` para usar la biblioteca de Octokit.js usada en los ejemplos de JavaScript. Para más información, consulta el [archivo README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +Para realizar una solicitud mediante JavaScript, puedes usar Octokit.js. Para más información, consulta el [archivo README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +En primer lugar, crea una instancia de `Octokit`.{% ifversion ghes or ghae %} y establece la dirección URL base en `{% data variables.product.api_url_code %}`. Reemplaza `[hostname]` por el nombre de host de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +A continuación, usa el método `request` para realizar solicitudes. Pasa el método HTTP y la ruta de acceso como primer argumento. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Anteponer la dirección URL base para la API de REST de {% data variables.product.prodname_dotcom %}, `{% data variables.product.api_url_code %}`, a la ruta de acceso para obtener la dirección URL completa: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Reemplaza `[hostname]` por el nombre de {% data variables.product.product_location %}.{% endif %} + +Usa el comando `curl` en la línea de comandos. Usa la marca `--request` o `-X` seguida del método HTTP. Use la marca `--url` seguida de la dirección URL completa. ```shell -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Parece código [JSON][json]. Ahora se agregará la marca `-i` para incluir encabezados: +{% note %} + +**Nota**: Si recibes un mensaje similar al "comando no encontrado: curl", es posible que tengas que descargar e instalar cURL. Para obtener más información, consulta [la página de descarga del proyecto cURL](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Sigue leyendo para aprender a autenticar, enviar parámetros y usar la respuesta. + +## Autenticación + +Muchas operaciones requieren autenticación o devuelven información adicional si te autenticas. Además, puedes realizar más solicitudes por hora cuando te autentiques. {% cli %} Aunque se puede acceder a algunas operaciones de la API de REST sin autenticación, debes autenticarte en {% data variables.product.prodname_cli %} para poder usar el subcomando `api`.{% endcli %} + +### Acerca de los tokens + +Puedes autenticar la solicitud agregando un token. + +Si deseas usar la API de REST de {% data variables.product.company_short %} para uso personal, puedes crear un token de acceso personal (PAT). Las operaciones de a API de REST que se usan en este artículo requieren ámbito `repo` para los tokens de acceso personal. Otras operaciones pueden requerir ámbitos diferentes. Para obtener más información sobre cómo crear un token de acceso personal, consulta "[Creación de un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". + +Si deseas usar la API en nombre de una organización u otro usuario, {% data variables.product.company_short %} recomienda usar un {% data variables.product.prodname_github_app %}. Si una operación está disponible para {% data variables.product.prodname_github_apps %}, la documentación de referencia de REST para esa operación dirá "Funciona con aplicaciones de GitHub". Las operaciones de la API de REST que se usan en este artículo requieren `issues` permisos de lectura y escritura para {% data variables.product.prodname_github_apps %}. Otras operaciones pueden requerir permisos diferentes. Para obtener más información, consulta "[Creación de una aplicación de GitHub](/developers/apps/building-github-apps/creating-a-github-app)", "[Autenticación con aplicaciones de GitHub](/developers/apps/building-github-apps/authenticating-with-github-apps)" e "[Identificación y autorización de usuarios para aplicaciones de GitHub](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + +Si deseas usar la API en un flujo de trabajo de {% data variables.product.prodname_actions %}, {% data variables.product.company_short %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Puedes conceder permisos a `GITHUB_TOKEN` con la clave `permissions`. Para más información, vea "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". + +### Ejemplo de autenticación + +{% cli %} + +Con {% data variables.product.prodname_cli %}, no es necesario crear un token de acceso de antemano. Usa el subcomando `auth login` para autenticarte en {% data variables.product.prodname_cli %}: ```shell -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -Hay algunas partes interesantes en los encabezados de la respuesta. Como se esperaba, `Content-Type` es `application/json`. +Puedes usar la marca `--scopes` para especificar qué ámbitos deseas. Si deseas autenticarte con un token que hayas creado, puedes usar la marca `--with-token`. Para obtener más información, consulta la [documentación de `auth login`{% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). -Cualquier encabezado que comience como `X-` es un encabezado personalizado y no se incluirá en la especificación de HTTPS. Por ejemplo, toma nota de los encabezados `X-RateLimit-Limit` y `X-RateLimit-Remaining`. Este par de encabezados indica [cuántas solicitudes puede realizar un cliente][rate-limiting] en un período de tiempo gradual (normalmente una hora) y cuántas de esas solicitudes ya ha consumido el cliente. +{% endcli %} -## Authentication - -Los clientes sin autenticar pueden hacer hasta 60 solicitudes por hora. Para obtener más solicitudes por hora, será necesario _autenticarse_. De hecho, para hacer cualquier cosa interesante con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} se necesita [autenticación][authentication]. - -### Utilizar tokens de acceso personal - -La forma más sencilla e indicada de autenticarse con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} consiste en usar la autenticación básica [mediante tokens de OAuth](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). Los tokens de OAuth incluyen [tokens de acceso personal][personal token]. - -Use una marca `-u` para establecer el nombre de usuario: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -Cuando se te solicite, puedes ingresar tu token de OAuth, pero te recomendamos que configures una variable para éste: - -Puede usar `-u "your_username:$token"` y configurar una variable para `token` a fin de evitar salir del token en el historial del shell. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -Al autenticarse, debería ver que el límite de frecuencia ha aumentado a 5000 solicitudes por hora, como se indica en el encabezado `X-RateLimit-Limit`. Adicionalmente a proporcionar más llamadas por hora, la autenticación te permite leer y escribir información privada utilizando la API. - -Puede [crear fácilmente un token de **acceso personal**][personal token] mediante la [página de configuración de tokens de acceso personal][tokens settings]: +{% javascript %} {% warning %} -Para mantener tu información segura, te recomendamos ampliamente que configures un vencimiento para tus tokens de acceso personal. +**Advertencia**: trata el token de acceso igual que una contraseña. + +Para proteger el token, puedes almacenar el token como secreto y ejecutar el script a través de {% data variables.product.prodname_actions %}. Para más información, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +{% ifversion ghec or fpt %} También puedes almacenar el token como un secreto de {% data variables.product.prodname_codespaces %} y ejecutar el script en {% data variables.product.prodname_codespaces %}. Para más información, consulta "[Administración de secretos cifrados para los codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"{% endif %} + +Si estas opciones no son posibles, considera la posibilidad de usar otro servicio como [la CLI de 1Password](https://developer.1password.com/docs/cli/secret-references/) para almacenar el token de forma segura. {% endwarning %} -{% ifversion fpt or ghes or ghec %} ![Selección de Token personal](/assets/images/personal_token.png) {% endif %} +Para autenticarte con la biblioteca de Octokit.js, puedes pasar el token al crear una instancia de `Octokit`. Reemplaza `YOUR-TOKEN` por el token.{% ifversion ghes or ghae %} Reemplaza `[hostname]` por el nombre de {% data variables.product.product_location %}.{% endif %} -{% ifversion ghae %} ![Selección de Token personal](/assets/images/help/personal_token_ghae.png) {% endif %} - -Las solicitudes de API que usan un token de acceso personal que va a expirar devolverán la fecha de expiración del token mediante el encabezado `GitHub-Authentication-Token-Expiration`. Puedes utilizar el encabezado en tus scripts para proporcionar un mensaje de advertencia cuando el token esté próximo a vencer. - -### Obtén tu propio perfil de usuario - -Cuando se autentica correctamente, puede sacar provecho de los permisos asociados con la cuenta de {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Por ejemplo, intente obtener un [perfil de usuario propio][auth user api]: - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); ``` -Esta vez, además del mismo conjunto de información pública que se ha recuperado antes para [@defunkt][defunkt github], también debería ver la información no pública del perfil de usuario. Por ejemplo, verá un objeto `plan` en la respuesta que proporciona detalles sobre el plan de {% data variables.product.product_name %} para la cuenta. +{% endjavascript %} -### Utiilzar tokens de OAuth para las apps +{% curl %} -Las aplicaciones que necesitan leer o escribir información privada mediante la API en nombre de otro usuario deben usar [OAuth][oauth]. +{% warning %} -OAuth usa _tokens_. Los Tokens proporcionan dos características grandes: +**Advertencia**: trata el token de acceso igual que una contraseña. -* **Acceso revocable**: los usuarios pueden revocar la autorización a aplicaciones de terceros en cualquier momento. -* **Acceso limitado**: los usuarios pueden revisar el acceso específico que proporcionará un token antes de autorizar una aplicación de terceros +Para ayudar a proteger su cuenta, puedes usar {% data variables.product.prodname_cli %} en lugar de cURL. {% data variables.product.prodname_cli %} se encargará de la autenticación. Para obtener más información, consulta la versión de {% data variables.product.prodname_cli %} de esta página. -Los tokens se deben crear mediante un [flujo web][webflow]. Una aplicación envía a los usuarios a {% data variables.product.product_name %} para que inicien sesión. Después, {% data variables.product.product_name %} muestra un cuadro de diálogo en el que se indica el nombre de la aplicación, así como su nivel de acceso una vez que el usuario la autorice. Después de que un usuario autoriza el acceso, {% data variables.product.product_name %} lo redirecciona de vuelta a la aplicación: +{% ifversion ghec or fpt %} También puedes almacenar el token como un secreto de {% data variables.product.prodname_codespaces %} y usar la línea de comandos mediante {% data variables.product.prodname_codespaces %}. Para más información, consulta "[Administración de secretos cifrados para los codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"{% endif %} -![Diálogo de OAuth de GitHub](/assets/images/oauth_prompt.png) +Si estas opciones no son posibles, considera la posibilidad de usar otro servicio como [la CLI de 1Password](https://developer.1password.com/docs/cli/secret-references/) para almacenar el token de forma segura. -**Tratamiento de los tokens de OAuth como contraseñas** No los comparta con otros usuarios ni los almacene en lugares inseguros. Los tokens de estos ejemplos son falsos y los nombres se han cambiado para proteger a los inocentes. +{% endwarning %} -Ahora que ya sabe cómo realizar llamadas autenticadas, pasará a [Repositories API][repos-api]. - -## Repositorios - -Casi cualquier uso significativo de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} implicará algún nivel de información de repositorio. Se pueden [`GET`los detalles del repositorio][get repo] de la misma manera que antes se han capturado los detalles del usuario: +Con cURL, enviarás un encabezado `Authorization` con el token. Reemplaza `YOUR-TOKEN` por tu token: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -De la misma manera, se pueden [ver los repositorios para el usuario autenticado][user repos api]: +{% note %} + +**Nota:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +{% endcurl %} + +### Ejemplo de autenticación para {% data variables.product.prodname_actions %} + +{% cli %} + +También puedes usar la `run` palabra clave para ejecutar comandos {% data variables.product.prodname_cli %} en los flujos de trabajo de {% data variables.product.prodname_actions %}. Para más información, vea "[Sintaxis de flujo de trabajo para Acciones de GitHub](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +En lugar de usar el comando `gh auth login`, pasa el token como una variable de entorno denominada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +También puedes usar la palabra clave `run` para ejecutar los scripts de JavaScript en los flujos de trabajo de {% data variables.product.prodname_actions %}. Para más información, vea "[Sintaxis de flujo de trabajo para Acciones de GitHub](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +Observa el siguiente flujo de trabajo de ejemplo: + +1. Comprueba el contenido del repositorio +1. Configura Node.js +1. Instala `octokit` +1. Almacena el valor de `GITHUB_TOKEN` como una variable de entorno denominada `TOKEN` y ejecuta `.github/actions-scripts/use-the-api.mjs`, que puede tener acceso a esa variable de entorno como `process.env.TOKEN` + +Ejemplo de flujo de trabajo: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Script de JavaScript de ejemplo, con la ruta de acceso del archivo `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +En lugar de almacenar el script en un archivo independiente y ejecutar el script desde el flujo de trabajo, puedes usar la acción `actions/github-script` para ejecutar un script. Para más información, consulta [el archivo README actions/github-script](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +También puedes usar la palabra clave `run` para ejecutar comandos cURL en los flujos de trabajo de {% data variables.product.prodname_actions %}. Para más información, vea "[Sintaxis de flujo de trabajo para Acciones de GitHub](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Uso de encabezados + +La mayoría de las operaciones especifican que debes pasar un encabezado `Accept` con un valor de `application/vnd.github.v3+json`. Otras operaciones pueden especificar que debes enviar un encabezado `Accept` diferente o encabezados adicionales. + +{% cli %} + +Para enviar un encabezado con datos {% data variables.product.prodname_cli %}, usa la marca `--header` o `-H` seguida del encabezado en formato `key: value`. ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat ``` -O bien, se pueden [enumerar los repositorios para otro usuario][other user repos api]: +{% endcli %} + +{% javascript %} + +La biblioteca de Octokit.js pasa automáticamente el encabezado `Accept: application/vnd.github.v3+json`. Para pasar encabezados `Accept` adicionales o un encabezado diferente, agrega una propiedad `headers` al objeto que se pasa como segundo argumento al método `request`. El valor de la propiedad `headers` es un objeto con los nombres de encabezado como claves y valores de encabezado como valores. Por ejemplo, para enviar un encabezado `content-type` con un valor de `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +Para enviar un encabezado con cURL, usa la marca `--header` o `-H` seguida del encabezado en formato `key: value`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -O bien, se pueden [enumerar los repositorios para una organización][org repos api]: +{% endcurl %} + +## Uso de parámetros de la ruta de acceso + +Los parámetros de ruta de acceso modifican la ruta de acceso de la operación. Por ejemplo, la ruta de acceso "Enumerar propuestas del repositorio" es `/repos/{owner}/{repo}/issues`. Los corchetes de curly indican parámetros de ruta de acceso `{}` que debes especificar. En este caso, debes especificar el propietario y el nombre del repositorio. Para obtener la documentación de referencia de esta operación, consulta "[Enumerar propuestas del repositorio](/rest/issues/issues#list-repository-issues)". + +{% cli %} + +{% ifversion ghes or ghae %} {% note %} + +**Nota:** Para que este comando funcione con {% data variables.product.product_location %}, reemplaza `octocat/Spoon-Knife` por un repositorio propiedad de {% data variables.product.product_location %}. De lo contrario, vuelve a ejecutar el comando `gh auth login` para autenticarte en {% data variables.product.prodname_dotcom_the_website %} en lugar de {% data variables.product.product_location %}. + +{% endnote %} {% endif %} + +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` por `octocat` y `{repo}` por `Spoon-Knife`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues ``` -La información que se devuelve de estas llamadas dependerá de los alcances que tenga nuestrotoken cuando nos autenticamos: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* Un token con el [ámbito][scopes] `public_repo` devuelve una respuesta que incluye todos los repositorios públicos a los que tiene acceso para verlos en {% data variables.product.product_location %}. -{%- endif %} -* Un token con el [ámbito][scopes] `repo` devuelve una respuesta que incluye todos los repositorios {% ifversion fpt %}públicos o privados{% elsif ghec or ghes %}públicos, privados o internos{% elsif ghae %}private or internal{% endif %} a los que tiene acceso para verlos en {% data variables.product.product_location %}. +{% javascript %} -Como se indica en la [documentación][repos-api], estos métodos toman un parámetro `type` que puede filtrar los repositorios devueltos en función del tipo de acceso que tiene el usuario para el repositorio. De esta forma, solo se pueden obtener los repositorios de propiedad directa, los repositorios de la organización o los repositorios en los que el usuario colabore mediante un equipo. +{% ifversion ghes or ghae %} {% note %} + +**Nota:** Para que este comando funcione con {% data variables.product.product_location %}, reemplaza `octocat/Spoon-Knife` por un repositorio propiedad de {% data variables.product.product_location %}. De lo contrario, crea una nueva instancia `Octokit` y no especifiques `baseURL`. + +{% endnote %} {% endif %} + +Al realizar una solicitud con Octokit.js, todos los parámetros, incluidos los parámetros de ruta de acceso, se pasan en un objeto como segundo argumento al método `request`. Para obtener propuestas del repositorio `octocat/Spoon-Knife`, especifica `owner` como `octocat` y `repo` como `Spoon-Knife`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); +``` + +{% endjavascript %} + +{% curl %} + +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` por `octocat` y `{repo}` por `Spoon-Knife`. Para compilar la ruta de acceso completa, antepon la dirección URL base para la API de REST {% data variables.product.prodname_dotcom %} REST API, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. + +{% ifversion ghes or ghae %} {% note %} + +**Nota:** Si deseas usar {% data variables.product.product_location %} en lugar de {% data variables.product.prodname_dotcom_the_website %}, usa `{% data variables.product.api_url_code %}` en lugar de `https://api.github.com` y reemplaza `[hostname]` por el nombre de {% data variables.product.product_location %}. Reemplaza `octocat/Spoon-Knife` por un repositorio propiedad de {% data variables.product.product_location %}. + +{% endnote %} {% endif %} ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -En este ejemplo, solo se capturan los repositorios que pertenecen a octocat, no en los que colabora. Nota la URL que se cita arriba. En función de la configuración del shell, en ocasiones cURL necesita una URL entre comillas, o ignorará la cadena de consulta. +{% endcurl %} -### Creación de un repositorio +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre el uso de la respuesta, consulta la sección "[Uso de la respuesta](#using-the-response)". -La captura de información de repositorios existentes es un caso de uso común, pero la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} también admite la creación de repositorios. Para [crear un repositorio][create repo], es necesario `POST` código JSON que contenga los detalles y las opciones de configuración. +## Uso de los parámetros de consulta + +Los parámetros de consulta permiten controlar qué datos se devuelven para una solicitud. Por ejemplo, un parámetro de consulta puede permitirte especificar cuántos elementos se devuelven cuando se pagina la respuesta. + +De forma predeterminada, la operación "Enumerar propuestas del repositorio" devuelve treinta propuestas, ordenados en orden descendente por la fecha en que se crearon. Puedes usar el parámetro `per_page` para devolver dos propuestas en lugar de 30. Puedes usar el parámetro `sort` para ordenar las propuestas por la fecha en que se actualizaron por última vez en lugar de por la fecha en que se crearon. Puedes usar el parámetro `direction` para ordenar los resultados en orden ascendente en lugar de en orden descendente. + +{% cli %} + +Para {% data variables.product.prodname_cli %}, usa la marca `-F` para pasar un parámetro que sea un número, booleano o null. Usa `-f` para pasar parámetros de cadena. + +{% note %} + +**Nota**: {% data variables.product.prodname_cli %} no acepta actualmente parámetros que son matrices. Para más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -En este ejemplo mínimo, se crea un repositorio privado para el blog (que es posible que se proporcione en [GitHub Pages][pages]). Aunque el blog {% ifversion not ghae %}será público{% else %}está disponible para todos los miembros de la empresa{% endif %}, hemos hecho el repositorio privado. En este solo paso, también se inicializará con un archivo Léame y una [plantilla .gitignore][nanoc] de estilo [nanoc][gitignore templates]. +{% endcli %} -El repositorio resultante se encontrará en `https://github.com//blog`. -Para crear un repositorio en una organización de la que sea propietario, solo tiene que cambiar el método de API de `/user/repos` a `/orgs//repos`. +{% javascript %} -Posteriormente vamos a obtener nuestro repositorio recién creado: +Al realizar una solicitud con Octokit.js, todos los parámetros, incluidos los parámetros de ruta de acceso, se pasan en un objeto como segundo argumento al método `request`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, agrega un `?` al final de la ruta de acceso y, a continuación, anexa el nombre y el valor del parámetro del parámetro con el formato `parameter_name=value`. Separa varios parámetros de consulta con `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -¡Oh no! ¿A dónde se fue? Como el repositorio se ha creado como _privado_, es necesario autenticarse para verlo. Si es un usuario experimentado de HTTP, es posible que espere un elemento `403` en su lugar. Como no quiere filtrar información sobre los repositorios privados, la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} devuelve `404` en este caso, como si quiere decir que "no se puede confirmar ni negar la existencia de este repositorio". +{% endcurl %} -## Issues +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre el uso de la respuesta, consulta la sección "[Uso de la respuesta](#using-the-response)". -La interfaz de usuario de incidencias en {% data variables.product.product_name %} pretende proporcionar el flujo de trabajo "suficiente"que no resulte molesto. Con [Issues API][issues-api] de {% data variables.product.product_name %}, puede extraer datos o crear incidencias de otras herramientas a fin de crear un flujo de trabajo que funcione para el equipo. +## Uso de parámetros del cuerpo -Como sucede en github.com, la API proporciona algunos métodos para ver las incidencias para el usuario autenticado. Para [ver todas las incidencias][get issues api], llame a `GET /issues`: +Los parámetros de cuerpo permiten pasar datos adicionales a la API. Por ejemplo, la operación "Crear una propuesta" requiere que especifiques un título para la nueva propuesta. También te permite especificar otra información, como el texto que se va a colocar en el cuerpo de la propuesta. Para obtener la documentación de referencia completa de esta operación, consulta "[Crear una propuesta](/rest/issues/issues#create-an-issue)". + +La operación "Crear una propuesta" usa la misma ruta de acceso que la operación "Enumerar propuestas del repositorio" en los ejemplos anteriores, pero usa un método `POST` en lugar de un método `GET`. + +{% cli %} + +Para {% data variables.product.prodname_cli %}, usa la marca `-F` para pasar un parámetro que sea un número, booleano o null. Usa `-f` para pasar parámetros de cadena. + +{% note %} + +**Nota**: {% data variables.product.prodname_cli %} no acepta actualmente parámetros que son matrices. Para más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -Para obtener solo las [incidencias en una de las organizaciones de {% data variables.product.product_name %}][get issues api], llame a `GET -/orgs//issues`: +{% endcli %} + +{% javascript %} + +Al realizar una solicitud con Octokit.js, todos los parámetros, incluidos los parámetros de cuerpo, se pasan en un objeto como segundo argumento al método `request`. + +```javascript +await octokit.request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + title: "Created with the REST API", + body: "This is a test issue created by the REST API", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, usa la marca `--data` para pasar los parámetros del cuerpo a un objeto JSON. ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -También se pueden obtener [todas las incidencias de un único repositorio][repo issues api]: +{% endcurl %} + +La operación crea una propuesta y devuelve datos sobre la nueva propuesta. En la respuesta, busca el valor `html_url` de tu propuesta y consúltala en el explorador. Para obtener más información sobre el uso de la respuesta, consulta la sección "[Uso de la respuesta](#using-the-response)". + +## Análisis de la respuesta + +### Acerca del código de respuesta y los encabezados + +Cada solicitud devolverá un código de estado HTTP que indica el éxito de la respuesta. Para obtener más información sobre los códigos de respuesta, consulta [la documentación del código de estado de respuesta HTTP de MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Además, la respuesta incluirá encabezados que proporcionan más detalles sobre la respuesta. Los encabezados que comienzan por `X-` o `x-` son personalizados para {% data variables.product.company_short %}. Por ejemplo, los encabezados `x-ratelimit-remaining` y `x-ratelimit-reset` indican cuántas solicitudes puede realizar en un período de tiempo. + +{% cli %} + +Para ver el código de estado y los encabezados, usa la marca `--include` o `--i` al enviar la solicitud. + +Por ejemplo, en esta solicitud: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -### Paginación - -Un proyecto con el tamaño de Rails tiene miles de informes de problemas. Será necesario [paginar][pagination] y realizar varias llamadas API para obtener los datos. Se repetirá la última llamada y esta vez se anotará los encabezados de respuesta: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -El [encabezado `Link`][link-header] permite que una respuesta se vincule a recursos externos, en este caso páginas de datos adicionales. Como la llamada ha detectado más de 30 incidencias (el tamaño predeterminado de página), la API indica dónde se puede encontrar la siguiente página y la última página de los resultados. +En este ejemplo, el código de respuesta es `200`, que indica una solicitud correcta. -### Crear una propuesta +{% endcli %} -Ahora que ha visto cómo paginar listas de incidencias, se [creará una incidencia][create issue] desde la API. +{% javascript %} -Para crear una incidencia, debe estar autenticado, por lo que se pasará un token de OAuth en el encabezado. También se pasarán el título, el cuerpo y las etiquetas en el cuerpo JSON a la ruta `/issues` debajo del repositorio en el que se quiere crear la incidencia: +Al realizar una solicitud con Octokit.js, el método `request` devuelve una promesa. Si la solicitud se realizó correctamente, la promesa se resuelve en un objeto que incluye el código de estado HTTP de la respuesta (`status`) y los encabezados de respuesta (`headers`). En caso de error, la promesa se resuelve en un objeto que incluye el código de estado HTTP de la respuesta (`status`) y los encabezados de respuesta (`response.headers`). + +Puedes usar un bloque `try/catch` para detectar un error si se produce. Por ejemplo, si la solicitud del script siguiente se realiza correctamente, el script registrará el código de estado y el valor del encabezado `x-ratelimit-remaining`. Si la solicitud no se realizó correctamente, el script registrará el código de estado, el valor del encabezado `x-ratelimit-remaining` y el mensaje de error. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Para ver el código de estado y los encabezados, usa la marca `--include` o `--i` al enviar la solicitud. + +Por ejemplo, en esta solicitud: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -La respuesta proporciona un par de punteros a la incidencia recién creada, tanto en el encabezado de respuesta `Location` como en el campo `url` de la respuesta JSON. - -## Solicitudes condicionales - -Una gran parte de ser un buen ciudadano de la API es respetar los límites de tasa al almacenar información en el caché, la cual no haya cambiado. La API admite [solicitudes condicionales][conditional-requests] y le ayuda a hacer lo correcto. Considere la primera llamada realiza para obtener el perfil de defunkt: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -Además del cuerpo JSON, anote el código de estado HTTP de `200` y el encabezado `ETag`. -[ETag][etag] es una huella digital de la respuesta. Si se pasa en las llamadas posteriores, se puede indicar a la API que proporcione otra vez el recurso, solo si ha cambiado: +En este ejemplo, el código de respuesta es `200`, que indica una solicitud correcta. + +{% endcurl %} + +### Acerca del cuerpo de la respuesta + +Muchas operaciones devolverán un cuerpo de respuesta. A menos que se especifique lo contrario, el cuerpo de la respuesta está en formato JSON. Por ejemplo, esta solicitud devuelve una lista de propuestas con datos sobre cada propuesta: + +{% cli %} ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -El estado `304` indica que el recurso no ha cambiado desde la última vez que se solicitó y que la respuesta no contendrá ningún cuerpo. Como bonificación, las respuestas `304` no cuentan para el [límite de frecuencia][rate-limiting]. +{% endcli %} -¡Ahora conoces lo básico de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}! +{% javascript %} -* Autenticación básica y de OAuth -* Obtener y crear repositorios e informes de problemas -* Solicitudes condicionales +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` -Siga aprendiendo con la siguiente guía de API [Aspectos básicos de la autenticación][auth guide]. +{% endjavascript %} -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[media types]: /rest/overview/media-types -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[auth user api]: /rest/reference/users#get-the-authenticated-user -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[2fa]: /articles/about-two-factor-authentication -[2fa header]: /rest/overview/other-authentication-methods#working-with-two-factor-authentication -[oauth section]: /rest/guides/getting-started-with-the-rest-api#oauth -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag -[2fa section]: /rest/guides/getting-started-with-the-rest-api#two-factor-authentication +{% curl %} + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +A diferencia de GraphQL API donde se especifica la información que deseas, la API de REST normalmente devuelve más información de la que necesitas. Si lo deseas, puedes analizar la respuesta para extraer fragmentos de información específicos. + +{% cli %} + +Por ejemplo, puedes usar `>` para redirigir la respuesta a un archivo: + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json +``` + +A continuación, puedes usar jq para obtener el título y el identificador de autor de cada propuesta: + +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` + +Los dos comandos anteriores devuelven algo parecido a: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +Para obtener más información sobre jq, consulta [la documentación de jq](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +Por ejemplo, puedes obtener el título y el identificador de autor de cada propuesta: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Por ejemplo, puedes usar `>` para redirigir la respuesta a un archivo: + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json +``` + +A continuación, puedes usar jq para obtener el título y el identificador de autor de cada propuesta: + +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` + +Los dos comandos anteriores devuelven algo parecido a: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +Para obtener más información sobre jq, consulta [la documentación de jq](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcurl %} + +## Pasos siguientes + +En este artículo se ha mostrado cómo enumerar y crear propuestas en un repositorio. Para más práctica, intenta comentar una propuesta, edita el título de una propuesta o cierra una propuesta. Para obtener más información sobre estas operaciones, consulta "[Crear un comentario de propuesta](/rest/issues#create-an-issue-comment)" y "[Actualizar una propuesta](/rest/issues/issues#update-an-issue)". + +Para obtener más información sobre las operaciones que puedes usar, consulta la [documentación de referencia de REST](/rest). diff --git a/translations/es-ES/content/rest/quickstart.md b/translations/es-ES/content/rest/quickstart.md new file mode 100644 index 0000000000..9716cadefb --- /dev/null +++ b/translations/es-ES/content/rest/quickstart.md @@ -0,0 +1,356 @@ +--- +title: Inicio rápido para la APi de REST GitHub +intro: 'Obtén información sobre cómo empezar con la API de REST de {% data variables.product.prodname_dotcom %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Quickstart +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 73b92aa20c38377f878bf9b6fffb7c1c6e2639b9 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147718201' +--- +En este artículo se describe cómo empezar a usar la API de REST de {% data variables.product.prodname_dotcom %} mediante {% data variables.product.prodname_cli %}, JavaScript o cURL. Para obtener más información, consulta "[Introducción a la API de REST](/rest/guides/getting-started-with-the-rest-api)". + +{% cli %} + +## Cómo empezar a usar {% data variables.product.prodname_cli %} + +### Usar {% data variables.product.prodname_cli %} en la línea de comandos + +{% data variables.product.prodname_cli %} es la forma más sencilla de utilizar la API de REST de {% data variables.product.prodname_dotcom %} desde la línea de comandos. + +1. Instala {% data variables.product.prodname_cli %} si aún no lo has hecho. A fin de obtener instrucciones de instalación, consulta el repositorio de [{% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). +1. Usa el subcomando `auth login` para autenticarte en {% data variables.product.prodname_cli %}. Para obtener más información, consulta la [documentación de `auth login`{% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Usa el subcomando `api` para realizar la solicitud de API. Para obtener más información, consulta la [documentación de `api`{% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Uso de {% data variables.product.prodname_cli %} en {% data variables.product.prodname_actions %} + +También puedes usar {% data variables.product.prodname_cli %} en los flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consulta "[Uso de la CLI de GitHub en flujos de trabajo](/actions/using-workflows/using-github-cli-in-workflows)". + +En lugar de usar el comando `gh auth login`, pasa el token de acceso como una variable de entorno denominada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +Si está autenticando con un {% data variables.product.prodname_github_app %}, puedes crear un token de acceso de instalación en el flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el flujo de trabajo siguiente, reemplaza `APP_ID` por el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulte "[Aplicaciones](/rest/apps/apps#get-an-app)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluido el contenido de `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`). En el siguiente ejemplo, reemplaza `APP_PEM` por el nombre del secreto. Para más información, vea "[Autenticación con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y use ese token en lugar de `GITHUB_TOKEN`. Ten en cuenta que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Introducción al uso de JavaScript + +Puedes usar Octokit.js para interactuar con la API de REST de {% data variables.product.prodname_dotcom %} en los scripts de JavaScript. Para más información, consulta el [archivo README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +### Uso de Octokit.js + +1. Creación de un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor {% data variables.product.prodname_github_app %}. Para obtener más información, consulta "[Creación de un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" o "[Identificación y autorización de usuarios para aplicaciones de GitHub](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + + {% warning %} + + **Advertencia**: trata el token de acceso igual que una contraseña. + + Para proteger el token, puedes almacenar el token como secreto y ejecutar el script a través de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Uso de Octokit.js en {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)". + + {%- ifversion fpt or ghec %} + + También puedes almacenar tu token como un secreto de {% data variables.product.prodname_codespaces %} y ejecutar tu script en {% data variables.product.prodname_codespaces %}. Para más información, consulta "[Administración de secretos cifrados para los codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"{% endif %} + + Si estas opciones no son posibles, considera la posibilidad de usar otro servicio como [la CLI de 1Password](https://developer.1password.com/docs/cli/secret-references/) para almacenar el token de forma segura. + + {% endwarning %} + +1. Instalar `octokit`. Por ejemplo, `npm install octokit`. Para ver otras formas de instalar o cargar `octokit`, consulta [el archivo README de Octokit.js](https://github.com/octokit/octokit.js/#readme). +1. Importar`octokit` en tu script. Por ejemplo, `import { Octokit } from "octokit";`. Para obtener otras formas de importar `octokit`, consulta [el archivo README de Octokit.js](https://github.com/octokit/octokit.js/#readme). +1. Crea una instancia de `Octokit` con tu token. Reemplace `YOUR-TOKEN` por su token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Usa `octokit.request` para ejecutar la solicitud. Envía el método HTTP y la ruta de acceso como primer argumento. Especifica cualquier parámetro de ruta de acceso, consulta y cuerpo en un objeto como segundo argumento. Por ejemplo, en la siguiente solicitud, el método HTTP es `GET`, la ruta de acceso es `/repos/{owner}/{repo}/issues` y los parámetros son `owner: "octocat"` y `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Uso de Octokit.js en {% data variables.product.prodname_actions %} + +También puedes ejecutar los scripts de JavaScript en los flujos de trabajo de {% data variables.product.prodname_actions %}. Para más información, vea "[Sintaxis de flujo de trabajo para Acciones de GitHub](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +Observa el siguiente flujo de trabajo de ejemplo: + +1. Comprueba el contenido del repositorio +1. Configura Node.js +1. Instala `octokit` +1. Almacena el valor de `GITHUB_TOKEN` como una variable de entorno denominada `TOKEN` y ejecuta `.github/actions-scripts/use-the-api.mjs`, que puede tener acceso a esa variable de entorno como `process.env.TOKEN` + +Ejemplo de flujo de trabajo: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Script de JavaScript de ejemplo, con la ruta de acceso del archivo `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +Si está autenticando con un {% data variables.product.prodname_github_app %}, puedes crear un token de acceso de instalación en el flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el flujo de trabajo siguiente, reemplaza `APP_ID` por el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulte "[Aplicaciones](/rest/apps/apps#get-an-app)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluido el contenido de `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`). En el siguiente ejemplo, reemplaza `APP_PEM` por el nombre del secreto. Para más información, vea "[Autenticación con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y use ese token en lugar de `GITHUB_TOKEN`. Ten en cuenta que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Introducción al uso de cURL + +### Uso de cURL en la línea de comandos + +{% note %} + +**Nota:** Si deseas realizar solicitudes de API desde la línea de comandos, {% data variables.product.prodname_dotcom %} recomienda usar {% data variables.product.prodname_cli %}, lo que simplifica la autenticación y las solicitudes. Para obtener más información sobre cómo empezar a trabajar con la API de REST con {% data variables.product.prodname_cli %}, consulta la versión de {% data variables.product.prodname_cli %} de este artículo. + +{% endnote %} + +1. Instala cURL si cURL aún no está instalado en el equipo. Para comprobar si cURL está instalado, ejecuta `curl --version` en la línea de comandos. Si la salida es información sobre la versión de cURL, se instala cURL. Si recibes un mensaje similar a `command not found: curl`, debes descargar e instalar cURL. Para obtener más información, consulta [la página de descarga del proyecto cURL](https://curl.se/download.html). +1. Creación de un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor {% data variables.product.prodname_github_app %}. Para obtener más información, consulta "[Creación de un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" o "[Identificación y autorización de usuarios para aplicaciones de GitHub](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + + {% warning %} + + **Advertencia**: trata el token de acceso igual que una contraseña. + + {%- ifversion fpt or ghec %} + + A fin de asegurar el token, también puedes almacenar el token como un secreto de {% data variables.product.prodname_codespaces %} y usar la línea de comandos mediante {% data variables.product.prodname_codespaces %}. Para más información, consulta "[Administración de secretos cifrados para los codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"{% endif %} + + También puedes usar {% data variables.product.prodname_cli %} en lugar de cURL. {% data variables.product.prodname_cli %} se encargará de la autenticación. Para obtener más información, consulta la versión de {% data variables.product.prodname_cli %} de esta página. + + Si estas opciones no son posibles, considera la posibilidad de usar otro servicio como [la CLI de 1Password](https://developer.1password.com/docs/cli/secret-references/) para almacenar el token de forma segura. + + {% endwarning %} + +1. Usa el comando `cURL` para realizar la solicitud. Pasa el token en un encabezado `Authorization`. Reemplace `YOUR-TOKEN` por su token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Nota:** {% data reusables.getting-started.bearer-vs-token %} + + {% endnote %} + +### Uso de cURL {% data variables.product.prodname_actions %} + +También puedes utilizar cURL en tus flujos de trabajo de {% data variables.product.prodname_actions %}. + +{% data variables.product.prodname_dotcom %} recomienda autenticarse con el `GITHUB_TOKEN` integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza `GITHUB_TOKEN` en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre el `GITHUB_TOKEN`, consulta "[Autenticación de token automática](/actions/security-guides/automatic-token-authentication)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +Si está autenticando con un {% data variables.product.prodname_github_app %}, puedes crear un token de acceso de instalación en el flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el flujo de trabajo siguiente, reemplaza `APP_ID` por el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulte "[Aplicaciones](/rest/apps/apps#get-an-app)". Para más información sobre los secretos, vea "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluido el contenido de `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`). En el siguiente ejemplo, reemplaza `APP_PEM` por el nombre del secreto. Para más información, vea "[Autenticación con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y use ese token en lugar de `GITHUB_TOKEN`. Ten en cuenta que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Pasos siguientes + +Para obtener más información, consulta "[Introducción a la API de REST](/rest/guides/getting-started-with-the-rest-api)". diff --git a/translations/es-ES/content/rest/teams/external-groups.md b/translations/es-ES/content/rest/teams/external-groups.md index fd876154a8..4f375d293b 100644 --- a/translations/es-ES/content/rest/teams/external-groups.md +++ b/translations/es-ES/content/rest/teams/external-groups.md @@ -3,6 +3,7 @@ title: Grupos externos intro: 'La API de grupos externos te permite ver los grupos de proveedor de identidades externos que están disponibles para tu organización, así como administrar la conexión entre los grupos externos y los equipos de la organización.' versions: fpt: '*' + ghes: '>=3.6' ghae: '*' ghec: '*' topics: diff --git a/translations/es-ES/data/reusables/actions/oidc-permissions-token.md b/translations/es-ES/data/reusables/actions/oidc-permissions-token.md index e28bf4e590..37b96153e1 100644 --- a/translations/es-ES/data/reusables/actions/oidc-permissions-token.md +++ b/translations/es-ES/data/reusables/actions/oidc-permissions-token.md @@ -1,10 +1,10 @@ --- -ms.openlocfilehash: 9634dbe779ef8c4bf0707adfe45d6e5084d95196 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: a314ace9dc0cc07e1119fa2a02c5ea45ef3a90fe +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: "145069558" +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878443" --- La ejecución del trabajo o del flujo de trabajo necesita una configuración `permissions` con [`id-token: write`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token). No podrá solicitar el token de identificador JWT de OIDC si el valor `permissions` de `id-token` está establecido en `read` o `none`. @@ -13,11 +13,19 @@ El valor `id-token: write` permite solicitar JWT desde el proveedor OIDC de {% d - Con variables de entorno en el ejecutor (`ACTIONS_ID_TOKEN_REQUEST_URL` y `ACTIONS_ID_TOKEN_REQUEST_TOKEN`). - Con `getIDToken()` del kit de herramientas de Acciones. +Si necesita capturar un token de OIDC para un flujo de trabajo, el permiso se puede establecer en el nivel de flujo de trabajo. Por ejemplo: + +```yaml{:copy} +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout +``` + Si solo necesitas recuperar un token de OIDC para un solo job, entonces este permiso puede configurarse dentro de dicho job. Por ejemplo: ```yaml{:copy} permissions: - id-token: write + id-token: write # This is required for requesting the JWT ``` Puede que necesites especificar permisos adicionales aquí, dependiendo de los requisitos de tu flujo de trabajo. diff --git a/translations/es-ES/data/reusables/codespaces/max-number-codespaces.md b/translations/es-ES/data/reusables/codespaces/max-number-codespaces.md index db991a6de6..c69be71622 100644 --- a/translations/es-ES/data/reusables/codespaces/max-number-codespaces.md +++ b/translations/es-ES/data/reusables/codespaces/max-number-codespaces.md @@ -1,9 +1,9 @@ --- -ms.openlocfilehash: 7e31c324900e21824e8214e6dcd453aa95ee85eb -ms.sourcegitcommit: 81faf43a57101e75d40b5f8f77b9b129699e5d41 +ms.openlocfilehash: f2d4527cb962dc9dc65d1aa1cc150f048814a917 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/08/2022 -ms.locfileid: "147865215" +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878644" --- -Puedes tener hasta 10 codespaces a la vez. Una vez que tengas 10 codespaces, deberás borrar alguno antes de que puedas crear uno nuevo. \ No newline at end of file +Hay límites para el número de codespaces que puede crear y el número de codespaces que puede ejecutar al mismo tiempo. Estos límites varían en función de varios factores. Si alcanza el número máximo de codespaces e intenta crear otro, se muestra un mensaje que indica que debe quitar un codespace existente para poder crear uno nuevo. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md b/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md index e26cf7e0c4..bdd08eee3a 100644 --- a/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md +++ b/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md @@ -1,9 +1,9 @@ --- ms.openlocfilehash: b73865feb01c314d363eeaf6b7dd1b80854d771e -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: "147764215" --- 1. Elige un propietario para el repositorio nuevo, escribe el nombre del repositorio, selecciona la configuración de privacidad que prefieras y haz clic en **Crear repositorio a partir de plantilla**. diff --git a/translations/es-ES/data/reusables/package_registry/no-graphql-to-delete-packages.md b/translations/es-ES/data/reusables/package_registry/no-graphql-to-delete-packages.md index f2e8e1bf66..59ac406321 100644 --- a/translations/es-ES/data/reusables/package_registry/no-graphql-to-delete-packages.md +++ b/translations/es-ES/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -1,9 +1,9 @@ --- ms.openlocfilehash: deca3a28d17f3716b20a84281ad843c47bdbbee2 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 +ms.lasthandoff: 09/09/2022 ms.locfileid: "147705086" --- {% ifversion fpt or ghec %} La API de GraphQL de {% data variables.product.prodname_registry %} no admite contenedores ni imágenes de Docker que usan el espacio de nombres del paquete `https://ghcr.io/OWNER/PACKAGE-NAME` ni imágenes npm que usan el espacio de nombres del paquete `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/translations/log/msft-cn-resets.csv b/translations/log/msft-cn-resets.csv index 8d873af18a..8466c4c156 100644 --- a/translations/log/msft-cn-resets.csv +++ b/translations/log/msft-cn-resets.csv @@ -316,6 +316,7 @@ translations/zh-CN/content/code-security/secret-scanning/managing-alerts-from-se translations/zh-CN/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md,broken liquid tags translations/zh-CN/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md,broken liquid tags translations/zh-CN/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md,rendering error +translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md,broken liquid tags translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md,broken liquid tags translations/zh-CN/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md,broken liquid tags translations/zh-CN/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md,broken liquid tags diff --git a/translations/log/msft-es-resets.csv b/translations/log/msft-es-resets.csv index e6e3eb4932..b5e51fcba0 100644 --- a/translations/log/msft-es-resets.csv +++ b/translations/log/msft-es-resets.csv @@ -257,7 +257,6 @@ translations/es-ES/data/reusables/security-center/permissions.md,file deleted be translations/es-ES/data/reusables/server-statistics/release-phase.md,file deleted because it no longer exists in main translations/es-ES/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md,broken liquid tags translations/es-ES/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md,broken liquid tags -translations/es-ES/content/actions/creating-actions/publishing-actions-in-github-marketplace.md,broken liquid tags translations/es-ES/content/actions/deployment/about-deployments/about-continuous-deployment.md,broken liquid tags translations/es-ES/content/actions/deployment/about-deployments/deploying-with-github-actions.md,broken liquid tags translations/es-ES/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md,broken liquid tags @@ -273,7 +272,6 @@ translations/es-ES/content/actions/deployment/deploying-to-your-cloud-provider/d translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md,broken liquid tags translations/es-ES/content/actions/hosting-your-own-runners/about-self-hosted-runners.md,broken liquid tags translations/es-ES/content/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners.md,broken liquid tags -translations/es-ES/content/actions/learn-github-actions/contexts.md,broken liquid tags translations/es-ES/content/actions/managing-workflow-runs/re-running-workflows-and-jobs.md,broken liquid tags translations/es-ES/content/actions/publishing-packages/publishing-nodejs-packages.md,broken liquid tags translations/es-ES/content/actions/security-guides/automatic-token-authentication.md,broken liquid tags @@ -282,7 +280,6 @@ translations/es-ES/content/actions/security-guides/security-hardening-for-github translations/es-ES/content/actions/using-github-hosted-runners/using-larger-runners.md,broken liquid tags translations/es-ES/content/actions/using-workflows/reusing-workflows.md,broken liquid tags translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md,broken liquid tags -translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md,broken liquid tags translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md,broken liquid tags translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md,broken liquid tags translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md,broken liquid tags @@ -303,9 +300,9 @@ translations/es-ES/content/code-security/dependabot/dependabot-security-updates/ translations/es-ES/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md,broken liquid tags translations/es-ES/content/code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md,rendering error translations/es-ES/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md,broken liquid tags +translations/es-ES/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md,broken liquid tags translations/es-ES/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md,broken liquid tags translations/es-ES/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md,broken liquid tags -translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md,broken liquid tags translations/es-ES/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md,broken liquid tags translations/es-ES/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md,broken liquid tags translations/es-ES/content/codespaces/developing-in-codespaces/deleting-a-codespace.md,broken liquid tags diff --git a/translations/zh-CN/content/actions/using-workflows/reusing-workflows.md b/translations/zh-CN/content/actions/using-workflows/reusing-workflows.md index 676a5f6f41..0aa23654cd 100644 --- a/translations/zh-CN/content/actions/using-workflows/reusing-workflows.md +++ b/translations/zh-CN/content/actions/using-workflows/reusing-workflows.md @@ -25,7 +25,13 @@ Rather than copying and pasting from one workflow to another, you can make workf Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proven to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained. -The diagram below shows 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. +The diagram below shows an in-progress workflow run that uses a reusable workflow. + +* After each of three build jobs on the left of the diagram completes successfully, a dependent job called "Deploy" is run. +* The "Deploy" job calls a reusable workflow that contains three jobs: "Staging", "Review", and "Production." +* The "Production" deployment job only runs after the "Staging" job has completed successfully. +* When a job targets an environment, the workflow run displays a progress bar that shows the number of steps in the job. In the diagram below, the "Production" job contains 8 steps, with step 6 currently being processed. +* Using a reusable workflow to run deployment jobs allows you to run those jobs for each build without duplicating code in workflows. ![Diagram of a reusable workflow for deployment](/assets/images/help/images/reusable-workflows-ci-cd.png) diff --git a/translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md index 52509934a0..3b4c1dc5f2 100644 --- a/translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md +++ b/translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -1,6 +1,6 @@ --- -title: 关于依赖关系图 -intro: 您可以使用依赖关系图来识别项目的所有依赖项。 依赖关系图支持一系列流行的软件包生态系统。 +title: About the dependency graph +intro: You can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems. redirect_from: - /github/visualizing-repository-data-with-graphs/about-the-dependency-graph - /code-security/supply-chain-security/about-the-dependency-graph @@ -15,85 +15,101 @@ topics: - Dependencies - Repositories shortTitle: Dependency graph -ms.openlocfilehash: bb8e802210da132d51e4c926ac9085a6790ba683 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: zh-CN -ms.lasthandoff: 09/05/2022 -ms.locfileid: '147578624' --- -## 关于依赖关系图 +## About the dependency graph {% data reusables.dependabot.about-the-dependency-graph %} -向 {% data variables.product.product_name %} 推送提交以更改支持的清单或锁定文件或将其添加到默认分支时,依赖项关系图会自动更新。{% ifversion fpt or ghec %}此外,当有人向某个依赖项的存储库推送更改时,该关系图也会更新。{% endif %}有关支持的生态系统和清单文件的信息,请参阅下面的“[支持的包生态系统](#supported-package-ecosystems)”。 +When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt or ghec %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below. -{% ifversion dependency-submission-api %} {% data reusables.dependency-submission.dependency-submission-link %} {% endif %} +{% ifversion dependency-submission-api %} +{% data reusables.dependency-submission.dependency-submission-link %} +{% endif %} -当创建包含针对默认分支的依赖项更改的拉取请求时,{% data variables.product.prodname_dotcom %} 使用依赖关系图向拉取请求添加依赖项审查。 它们指示依赖项是否包含漏洞,如果是,则指示已修复漏洞的依赖项版本。 有关详细信息,请参阅“[关于依赖项审查](/code-security/supply-chain-security/about-dependency-review)”。 +When you create a pull request containing changes to dependencies that targets the default branch, {% data variables.product.prodname_dotcom %} uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." -## 依赖关系图可用性 +## Dependency graph availability -{% ifversion fpt or ghec %}依赖关系图可用于使用支持的文件格式在支持的包生态系统中定义依赖关系的每个公共存储库。 存储库管理员还可以为私有存储库设置依赖项关系图。 有关详细信息,请参阅“[配置依赖项关系图](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)”。{% endif %} +{% ifversion fpt or ghec %}The dependency graph is available for every public repository that defines dependencies in a supported package ecosystem using a supported file format. Repository administrators can also set up the dependency graph for private repositories. For more information, see "[Configuring the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)."{% endif %} {% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} -## 包含的依赖项 +## Dependencies included -依赖项关系图包含支持的生态系统中的清单和锁定文件(或等效文件)中详述的存储库的所有依赖项{% ifversion dependency-submission-api %},以及任何使用依赖项提交 API (beta) 提交的依赖项{% endif %}。 这包括: +The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems{% ifversion dependency-submission-api %}, as well as any dependencies that are submitted using the Dependency submission API (beta){% endif %}. This includes: -- 直接依赖项,这些依赖项是在清单或锁定文件中显式定义的{% ifversion dependency-submission-api %}或是已使用依赖项提交 API (beta) 提交的{% endif %} -- 这些直接依赖项的间接依赖项,也称为过渡依赖项或子依赖项 +- Direct dependencies, that are explicitly defined in a manifest or lock file {% ifversion dependency-submission-api %} or have been submitted using the Dependency submission API (beta){% endif %} +- Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies -依赖项关系图通过锁定文件显式标识间接依赖项{% ifversion fpt or ghec %}或者通过检查直接依赖项的依赖项来标识间接依赖项。 对于最可靠的依赖关系图, 您应该使用锁定文件(或其等效项),因为它们准确地定义了您当前使用的直接和间接依赖项版本。 如果您使用锁定文件,还要确保仓库的所有贡献者都使用相同的版本,这样更便于您{% else %}从锁定文件{% endif %} 测试和调试代码。 +The dependency graph identifies indirect dependencies{% ifversion fpt or ghec %} either explicitly from a lock file or by checking the dependencies of your direct dependencies. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. -有关 {% data variables.product.product_name %} 如何帮助你了解环境中的依赖项的详细信息,请参阅“[关于供应链安全性](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)”。 +For more information on how {% data variables.product.product_name %} helps you understand the dependencies in your environment, see "[About supply chain security](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)." {% ifversion fpt or ghec %} -## 包含的依赖关系 +## Dependents included -对于公共仓库,仅报告依赖于它或它发布的包的公共仓库。 对于私有仓库,不报告此信息。{% endif %} +For public repositories, only public repositories that depend on it or on packages that it publishes are reported. This information is not reported for private repositories.{% endif %} -## 使用依赖关系图 +## Using the dependency graph -您可以使用依赖关系图: +You can use the dependency graph to: -- 浏览代码所依赖的存储库{% ifversion fpt or ghec %},以及依赖于它的存储库{% endif %}。 有关详细信息,请参阅“[探索存储库的依赖项](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)”。 {% ifversion ghec %} -- 在单个仪表板中查看组织仓库中使用的依赖项摘要。 有关详细信息,请参阅“[查看组织的见解](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)”。{% endif %} -- 查看和更新仓库中有漏洞的依赖项。 有关详细信息,请参阅“[关于 {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)。”{% ifversion fpt or ghes or ghec %} -- 查看拉取请求中有漏洞依赖项的相关信息。 有关详细信息,请参阅“[查看拉取请求中的依赖项更改](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)”。{% endif %} +- Explore the repositories your code depends on{% ifversion fpt or ghec %}, and those that depend on it{% endif %}. For more information, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." {% ifversion ghec %} +- View a summary of the dependencies used in your organization's repositories in a single dashboard. For more information, see "[Viewing insights for your organization](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)."{% endif %} +- View and update vulnerable dependencies for your repository. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."{% ifversion fpt or ghes or ghec %} +- See information about vulnerable dependencies in pull requests. For more information, see "[Reviewing dependency changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)."{% endif %} -## 支持的包生态系统 +## Supported package ecosystems -建议的格式明确定义哪些版本用于所有直接和所有间接依赖项。 如果使用这些格式,依赖项关系图会更准确。 它还反映当前的生成设置,并且使依赖项关系图能够报告直接和间接依赖项中的漏洞。{% ifversion fpt or ghec %}从清单文件(或等效文件)推断的间接依赖项将不包括在不安全的依赖项检查中。{% endif %} +The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt or ghec %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.{% endif %} -| 程序包管理器 | 语言 | 推荐格式 | 所有支持的格式 | +| Package manager | Languages | Recommended formats | All supported formats | | --- | --- | --- | ---| -{%- ifversion dependency-graph-rust-support %} | Cargo{% ifversion ghes = 3.6 or ghae-issue-7563 %}[*]{% endif %} | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` | {%- endif %} | Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | | NuGet | .NET 语言(C#、F#、VB)、C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | {%- ifversion github-actions-in-dependency-graph %} | {% data variables.product.prodname_actions %} 工作流[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | {%- endif %} {%- ifversion fpt or ghec or ghes > 3.2 or ghae %} | Go 模块 | Go | `go.sum` | `go.mod`, `go.sum` | {%- elsif ghes = 3.2 %} | Go 模块 | Go | `go.mod` | `go.mod` | {%- endif %} | Maven | Java, Scala | `pom.xml` | `pom.xml` | | npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| | pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4752 %} | Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` | {%- endif %} | RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` | | Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | +{%- ifversion dependency-graph-rust-support %} +| Cargo | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` | +{%- endif %} +| Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | +| NuGet | .NET languages (C#, F#, VB), C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | +{%- ifversion github-actions-in-dependency-graph %} +| {% data variables.product.prodname_actions %} workflows[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | +{%- endif %} +{%- ifversion fpt or ghec or ghes > 3.2 or ghae %} +| Go modules | Go | `go.sum` | `go.mod`, `go.sum` | +{%- elsif ghes = 3.2 %} +| Go modules | Go | `go.mod` | `go.mod` | +{%- endif %} +| Maven | Java, Scala | `pom.xml` | `pom.xml` | +| npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| +| pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4752 %} +| Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` | +{%- endif %} +| RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` | +| Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | -{% ifversion ghes = 3.6 or ghae-issue-7563 %} [*] 对于 Rust 支持的初始发布,依赖项关系图没有检测可传递的依赖项所需的元数据和映射。 当 `Cargo.lock` 文件中定义了可传递的依赖项时,依赖项关系图将显示这些依赖项(一个级别深度)。 {% data variables.product.prodname_dependabot_alerts %}和 {% data variables.product.prodname_dependabot_security_updates %}可用于 `Cargo.lock` 文件中定义的易受攻击的依赖项。 -{% endif %} - -{% ifversion github-actions-in-dependency-graph %} [†] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} 工作流必须位于要识别为清单的存储库的 `.github/workflows/` 目录中。 使用 `jobs[*].steps[*].uses` 或 `jobs..uses` 语法引用的任何操作或工作流都将被分析为依赖项。 有关详细信息,请参阅“[{% data variables.product.prodname_actions %} 的工作流语法](/actions/using-workflows/workflow-syntax-for-github-actions)”。 +{% ifversion github-actions-in-dependency-graph %} +[†] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} workflows must be located in the `.github/workflows/` directory of a repository to be recognized as manifests. Any actions or workflows referenced using the syntax `jobs[*].steps[*].uses` or `jobs..uses` will be parsed as dependencies. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)." {% endif %} -[‡] 如果你在 `setup.py` 文件中列出你的 Python 依赖项,我们可能无法分析和列出你项目中的每个依赖项。 +[‡] If you list your Python dependencies within a `setup.py` file, we may not be able to parse and list every dependency in your project. -{% ifversion github-actions-in-dependency-graph %} {% note %} +{% ifversion github-actions-in-dependency-graph %} +{% note %} -注意:{% data variables.product.prodname_actions %} 工作流程依赖项显示在依赖项关系图中,以供参考。 {% data variables.product.prodname_actions %} 工作流程目前不支持 Dependabot 警报。 +**Note:** {% data variables.product.prodname_actions %} workflow dependencies are displayed in the dependency graph for informational purposes. Dependabot alerts are not currently supported for {% data variables.product.prodname_actions %} workflows. -{% endnote %} {% endif %} +{% endnote %} +{% endif %} -{% ifversion dependency-submission-api %}你可以使用依赖项提交 API (beta) 将所选的包管理器或生态系统中的依赖项添加到依赖项关系图,即使所选的生态系统不在上述受支持的生态系统列表中也可如此。 依赖项关系图将显示按生态系统分组的已提交依赖项,但与从清单或锁定文件解析的依赖项是分开的。 你只会收到来自 {% data variables.product.prodname_advisory_database %} [支持的生态系统](https://github.com/github/advisory-database#supported-ecosystems)之一的依赖项的 {% data variables.product.prodname_dependabot_alerts %}。 有关依赖项提交 API 的详细信息,请参阅“[使用依赖项提交 API](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)”。{% endif %} -## 延伸阅读 +{% ifversion dependency-submission-api %}You can use the Dependency submission API (beta) to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files. You will only get {% data variables.product.prodname_dependabot_alerts %} for dependencies that are from one of the [supported ecosystems](https://github.com/github/advisory-database#supported-ecosystems) of the {% data variables.product.prodname_advisory_database %}. For more information on the Dependency submission API, see "[Using the Dependency submission API](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)."{% endif %} +## Further reading -- Wikipedia 上的“[依赖项关系图](https://en.wikipedia.org/wiki/Dependency_graph)” -- [探索存储库的依赖项](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository) -- [查看和更新 {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts) -- [漏洞依赖项检测疑难解答](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies) +- "[Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph)" on Wikipedia +- "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)" +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/translations/zh-CN/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md b/translations/zh-CN/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md index 6dfc8e8970..c25339d791 100644 --- a/translations/zh-CN/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md +++ b/translations/zh-CN/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md @@ -69,6 +69,8 @@ You can create a codespace for a particular task and then safely delete the code If you try to delete a codespace with unpushed git commits, your editor will notify you that you have changes that have not been pushed to a remote branch. You can push any desired changes and then delete your codespace, or continue to delete your codespace and any uncommitted changes. You can also export your code to a new branch without creating a new codespace. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)." +Codespaces that have been stopped and remain inactive for a specified period of time will be deleted automatically. By default, inactive codespaces are deleted after 30 days, but you can customize your codespace retention period. For more information, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." + You will be charged for the storage of all your codespaces. When you delete a codespace, you will no longer be charged. For more information on deleting a codespace, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)." diff --git a/translations/zh-CN/content/codespaces/developing-in-codespaces/deleting-a-codespace.md b/translations/zh-CN/content/codespaces/developing-in-codespaces/deleting-a-codespace.md index a3297c9082..5a9bb4271a 100644 --- a/translations/zh-CN/content/codespaces/developing-in-codespaces/deleting-a-codespace.md +++ b/translations/zh-CN/content/codespaces/developing-in-codespaces/deleting-a-codespace.md @@ -123,4 +123,5 @@ For more information, click the "{% data variables.product.prodname_cli %}" tab You can also use the REST API to delete codespaces for your organization. For more information, see "[Codespaces organizations](/rest/codespaces/organizations#delete-a-codespace-from-the-organization)." ## Further reading -- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)" \ No newline at end of file +- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)" +- "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)" \ No newline at end of file diff --git a/translations/zh-CN/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md b/translations/zh-CN/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md index 5b8281892e..536cf9c559 100644 --- a/translations/zh-CN/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md +++ b/translations/zh-CN/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md @@ -1,7 +1,7 @@ --- title: 更改默认分支 intro: 如果仓库中有多个分支,您可以将任何分支配置为默认分支。 -permissions: People with admin permissions to a repository can change the default branch for the repository. +permissions: People with admin access for a repository can change the default branch for the repository. versions: fpt: '*' ghes: '*' diff --git a/translations/zh-CN/content/rest/teams/external-groups.md b/translations/zh-CN/content/rest/teams/external-groups.md index 85f97e357b..c78eae9d0f 100644 --- a/translations/zh-CN/content/rest/teams/external-groups.md +++ b/translations/zh-CN/content/rest/teams/external-groups.md @@ -3,6 +3,7 @@ title: 外部组 intro: 外部组 API 允许查看可用于组织的外部标识提供者组,并管理组织中外部组和团队之间的连接。 versions: fpt: '*' + ghes: '>=3.6' ghae: '*' ghec: '*' topics: